Роли пользователей с проверкой подлинности Windows не работают в ASP.NET Ядро

#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, он возвращает правильные результаты.