#asp.net-core #authentication #model-view-controller #authorization
#asp.net-core #проверка подлинности #модель-представление-контроллер #авторизация
Вопрос:
Я использую ASP.NET Ядро MVC, которое использует проверку подлинности Windows. У меня есть 2 группы Active Directory, и я хочу проверить, входит ли пользователь в эту группу, это не сработало с моим кодом, поэтому я проверил у пользователя.IsInRole. Это дает мне странные результаты, в группе 1, членом которой я больше не являюсь, он возвращает true . Для группы 2, членом которой я являюсь, он возвращает false . Для коллеги он возвращает false для обоих (он находится в группе 2).
Есть идеи, почему это так?
Вот код, который я использовал для настройки моего ASP.NET Основное приложение.
services.AddAuthentication(IISDefaults.AuthenticationScheme);
services.AddAuthorization(opt => {
opt.AddPolicy("Admin", policy => policy.RequireRole("DOMAIN\GROUP 1"));
opt.AddPolicy("Write", policy => policy.RequireRole("DOMAIN\GROUP 2"));
});
Комментарии:
1. Попробуйте написать обработчики авторизации пользовательской политики , чтобы проверять все группы AD пользователя и проверять, содержат ли они желаемое имя группы. См.: Использование групп AD для авторизации доступа к страницам с использованием проверки подлинности IIS Windows
2. @ZhiLv Я попробовал и получил тот же результат, что и при моем подходе
3. Если я проверю это с помощью GroupPrincipal и UserPrincipal, он возвращает правильные результаты.