Мне было поручено изменить разрешение на использование AD. В настоящее время приложение c # настроено на использование безопасности на основе ролей с использованием MVC Identity.
В настоящее время в файле setup.cs настроены следующие параметры:
services.AddAuthorization(options =>
{
options.AddPolicy(CollectionsHelper.Policies.RequireEvaluatorRole, policy =>
policy.Requirements.Add(new RoleRequirement(CollectionsHelper.Roles.Evaluator)));
options.AddPolicy(CollectionsHelper.Policies.RequireStakeholderRole, policy =>
policy.Requirements.Add(new RoleRequirement(CollectionsHelper.Roles.Stakeholder)));
});
services.AddMvc(setup =>
{
// only allow authenticated users
var defaultPolicy = new AuthorizationPolicyBuilder().RequireAuthenticatedUser().Build();
setup.Filters.Add(new AuthorizeFilter(defaultPolicy));
});
Обратите внимание, я также удалил украшения атрибутов авторизации наИндексные функции контроллеров.
Нам нужно переключиться на группы AD для этой проверки подлинности. Итак, я нашел сообщение от stackOverflow, которое мне очень близко: Как авторизовать пользователей AD с помощью .Net Core
Следуя инструкциям, я могу использовать свою группу AD для доступа к приложению,но теперь у меня есть новая проблема. Если я протестирую противоположное и поменяю группу домена на группу, членом которой я НЕ являюсь, я получу 401 Несанкционированную ошибку. Я имею в виду, да, это то, что я хочу, но я хотел бы использовать более хороший взгляд. Тот, у которого есть шаблон наших сайтов, но с телом, в котором говорится, что у пользователя нет доступа к этому сайту ... Нажмите здесь, чтобы запросить доступ ... Что-то в этом духе.
Я вошел в IIS и изменилстраницу ошибки маршрутизации для 401 на другой URL (только для тестирования я сделал google.com), но страница ошибки все равно появилась.
Почти забыл добавить, я попробовал предложение из по этой ссылке но это не сработало.