Я создал веб-приложение .Net Core 2.2 MVC (страницы Entity Framework и Razor).
Приложение размещено на сервере Windows 2016 с использованием IIS и принадлежит нашему домену Windows AD.
Приложение работает нормально, без аутентификации или анонимной аутентификации.
Однако теперь я хочу включить защиту для одного из контроллеров таким образом, чтобы к нему мог получить доступ пользователь AD, который вошел на свою рабочую станцию в нашем домене.
Итак, я следовал этому уроку:
https://docs.microsoft.com/en-us/aspnet/core/security/authentication/windowsauth?view=aspnetcore-2.2&tabs=visual-studio#server-side-configuration-with-the-iis-manager
Я настроил свой класс запуска для включения необходимой записи в ConfigureServices:
Startup.cs:
using Microsoft.AspNetCore.Server.IISIntegration;
public void ConfigureServices(IServiceCollection services)
{
//...
services.AddAuthentication(IISDefaults.AuthenticationScheme);
//...
}
И это контроллер, у которого есть один метод, который я хочу заблокировать:
ResearchController.cs:
using Microsoft.AspNetCore.Authorization;
public class SecuredOptionsController : Controller
{
[Authorize(Roles = "FrankJ, AliceR")]
[HttpPost]
public async Task<IActionResult> AccessSecretData(DateTime? start, DateTime? end)
{
return View();
}
}
Я хочу, чтобы только два пользователя Домена имели доступ к этому:
Я добавил учетные записи домена FrankJ и AliceR AD в раздел учетных записей пользователей в Windows Server.
Когда я нажимаю на этот контроллер, появляется приглашение для входа, но оно никогда не срабатывает, когда я вхожу в учетные данные для FrankJ или AliceR. Я пробовал просто использовать 'FrankJ' и пробовал 'TheDomain / FrankJ'
Чего мне не хватает?