Аутентификация Windows не может аутентифицировать системного пользователя или пользователя ADFS - PullRequest
0 голосов
/ 14 октября 2019

Я использую API-интерфейс aspnetcore2.1 и настроен для аутентификации Windows с использованием приведенного ниже кода. Это должно работать для всех пользователей, которые находятся на моем сервере ADFS, который находится в той же сети, и машина, с которой я пытаюсь получить доступ к сайту, включена в тот же домен сервера ADFS.

Вapp, в разделе ConfigureServices

        services.AddAuthentication(IISDefaults.AuthenticationScheme);
        services.AddHttpContextAccessor();

и в разделе Configure

        app.UseAuthentication();

Я также добавил файл web.config для приложения при его развертывании, который выглядит следующим образом

<location path="." inheritInChildApplications="false">
<system.webServer>
  <handlers>
    <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified"/>
  </handlers>
  <aspNetCore processPath="dotnet"
              arguments=".\sampleapi.dll"
              stdoutLogEnabled="true"
              stdoutLogFile=".\logs\stdout"
              forwardWindowsAuthToken="true"/>
</system.webServer>
<system.web>
  <authentication mode="Windows"/>
  <authorization>
    <allow users="*"/>
    <allow roles="*"/>
  </authorization>
</system.web>

И теперь сайт запрашивает учетные данные, как и ожидалось, когда я пытаюсь получить доступ к приложению.

Я пробовал разные учетные записи пользователей с компьютера и учетных записей сервера ADFSНикто из них не работал. Есть ли что-то, что я пропустил? Я убедился, что NTLM является первым в списке в списке поставщиков в конфигурации IIS. Я изменил удостоверение пула приложений на пользовательского пользователя, который принадлежит пользователям ADFS, имеющим административный доступ к текущему компьютеру (также здесь находится сайт).

...