Asp.Net Core MVC + Windows Authentication + IIS

У меня есть приложение ASP.NET Core MVC с аутентификацией Windows. Я опубликовал его на сервере IIS в локальной сети нашей компании. Все работает нормально, все пользователи входят в систему со своими правами. Но каждый раз, когда они открывают браузер, им нужно ввести свои учетные данные. Каждый раз мы видим окно для ввода имени пользователя и пароля. Как сделать вход в систему автоматическим?

Я добавил это в Startup.cs

public void ConfigureServices(IServiceCollection services)
{
…
services.AddAuthentication(IISDefaults.AuthenticationScheme);

//custom authorization
services.AddAuthorization(options =>
{
   options.AddPolicy("Operator", policy => policy.AddRequirements(new CheckADGroupRequirement(Configuration["RolesConfig:Operator"], Configuration["RolesConfig:Manager"])));
   options.AddPolicy("Manager", policy => policy.AddRequirements(new CheckADGroupRequirement(Configuration["RolesConfig:Manager"])));
});

services.AddSingleton<IAuthorizationHandler, CheckADGroupHandler>();
//custom authorization

…
}

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
…
app.UseAuthentication();
…
}

В IIS я выставил Enabled только Windows Authentication.

Единственное решение, которое я нашел это выставить 'Automatic logon with current user and password' в Internet Options, но это не лучшее решение.


Ответы (1 шт):

Автор решения: Ivan Shatsky

Возможно это и не лучшее решение, но дело в том, что оно единственное. И раз вы нашли эту настройку, вы наверное заметили, что она настраивается индивидуально для каждой из так называемых зон безопасности ("Интернет", "Интрасеть", "Надёжные сайты", "Опасные сайты"). Вот её обычно и включают или для интрасети, или для надёжных сайтов (сами сайты в группу надо добавлять самостоятельно, но с помощью групповых политик у вас не должно возникнуть с этим проблем).

Дополнение. Уже после того, как ответ на вопрос был дан, я обнаружил, что автор вопроса задавал тот же вопрос на enSO, где ему в комментариях было сказано примерно то же самое. Ссылку на англоязычную версию даю на случай, если кому-то будет интересно ознакомиться с этими комментариями.

Обычно у людей возникает другой вопрос, как включить IWA (Integrated Windows Authentication) для браузеров, отличных от Internet Explorer. Chrome и ему подобные используют для этого те же системные настройки, что и Internet Explorer, а Firefox действительно требует дополнительной настройки, но и в нём вам придётся вручную перечислить все сайты, для которых будет разрешён такой механизм аутентификации.

Материалы по теме (на английском языке):

→ Ссылка