Я пытаюсь использовать 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.
Configured application as a website in IIS with Windows Authentication enabled.
Things I have tried.
- Tried adding
forwardWindowsAuthToken="true"
in web.config file.
- Tried adding the site in Local Intranet sites in Internet options of browser.
- 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
, он начинает запрашивать учетные данные, но никогда не принимаю их.
Заранее спасибо.