Windows Аутентификация Не работает в IIS с ASP. NET Core - PullRequest
0 голосов
/ 02 августа 2020

Я пытаюсь использовать Windows Аутентификацию для ASP. NET Core MVC приложения. Ниже приводится описание проблемы.

Когда приложение запускается с IIS Express, оно работает без каких-либо проблем. Но когда он настроен как сайт в IIS и запущен, он запрашивает учетные данные, и даже после ввода исправленных учетных данных приложение показывает страницу с ошибкой со статусом 401.

Подробности: Приложение представляет собой простой шаблон ASP. NET Core MVC приложение с Windows аутентификацией. Я экспериментирую, чтобы найти решение для использования в реальном приложении.

Framework:. NET Core 2.2

Среда: Visual Studio 2019 на Windows машине Server 2019 с IIS 10.0

Ниже приведены изменения, которые я внес в приложение «Котельная плита». Изменения в файле Startup.cs для использования аутентификации.

public void ConfigureServices(IServiceCollection services)
{
    services.Configure<CookiePolicyOptions>(options =>
        {
            // This lambda determines whether user consent for non-essential cookies is needed for a given request.
            options.CheckConsentNeeded = context => true;
            options.MinimumSameSitePolicy = SameSiteMode.None;
        });

        services.Configure<IISOptions>(options =>
        {
            options.AutomaticAuthentication = true;
        });

        services.AddAuthentication(IISDefaults.AuthenticationScheme);

        services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
}

Добавлена ​​следующая строка кода в метод Configure в файле Startup.cs.

app.UseAuthentication();

Включена windows аутентификация для отладка в свойствах проекта и настроенный хостинг IIS с моделью хостинга OutProcess.

[Screen capture of Web project properties]

Configured application as a website in IIS with Windows Authentication enabled.

[Screen capture of IIS]

Things I have tried.

  1. Tried adding forwardWindowsAuthToken="true" in web.config file.
  2. Tried adding the site in Local Intranet sites in Internet options of browser. [Screen Capture of Local Intranet sites]
  3. Tried using UseIIS() in Program.cs for WebHostBuilder.

Suggestions from StackOverflow questions I tried.

Asp. Net core MVC application Windows Authentication in IIS

ASP. Net Ядро: сохранить windows аутентификацию

Asp. Net Ядро Windows Аутентификация Нет Работа в IIS

Если я включил Windows аутентификацию как в IIS, так и в приложении, приложение запрашивает учетные данные при просмотре. Даже после ввода текущих учетных данных он не отображает go и запрашивает повторно. После трех попыток приложение показывает страницу ошибки с ошибкой 401.

Я считаю, что конфигурации верны, если приложение запрашивает учетные данные, но я не могу понять, почему оно не принимает логин пользователя даже после предоставления исправленных учетные данные.

Примечание. Все действия, разработка, отладка, хостинг и т. д. c происходят на одном сервере Windows 2019. И на машине также размещен контроллер домена, и попытка входа в систему выполняется с одним из допустимых пользователей домена.

Я совершенно не понимаю сейчас, и все, что я пробую, приводит к той же проблеме в конце. Не стесняйтесь спрашивать, требуются ли дополнительные сведения.

РЕДАКТИРОВАТЬ 1 -------------------------------- --------------

Мне не удалось настроить мой сайт в IIS с портом 8081 и без привязки имени.

введите описание изображения здесь

Таким образом, когда я просматриваю http://localhost: 8081, он без проблем регистрирует текущего пользователя. Но когда я настраиваю его с любым именем привязки, например sample.localapp.com, он начинает запрашивать учетные данные, но никогда не принимаю их.

Заранее спасибо.

1 Ответ

0 голосов
/ 04 августа 2020

Добавьте IIS_IUSRS в папку publi sh или туда, где находится ваше веб-приложение

введите описание изображения здесь

...