ASP.NET Active Directory авторизация для каждой веб-страницы - PullRequest
0 голосов
/ 01 февраля 2019

Я новичок в ASP.NET, и меня попросили сделать следующее.Я пытался просмотреть большое количество статей по переполнению стека в этой теме, но не смог найти конкретного ответа на мою ситуацию.

Сценарий следующий: веб-приложение является внутренним для компании.,В приложении есть много страниц, которые должны иметь разные уровни доступа в зависимости от групп AD.Так, например, для одной страницы, если пользователь находится в какой-либо из групп AD, B, C или D, он будет иметь доступ.Другая страница может предоставить доступ пользователю, который принадлежит к какой-либо из групп AD E, F или G.

Не уверен, что я неправильно прочитал другие статьи о переполнении стека, но казалось, что они ответили на вопрос о предоставлениидоступ к пользователю, который является частью определенной группы (одной группы).Для данной веб-страницы я хочу предоставить пользователю доступ, если он входит в какую-либо группу, указанную мною при разрешении посещения этой страницы.

Кроме того, существует простой способ хранения ADимена групп, которые я хочу иметь доступ к каждой странице в файле, и авторизоваться для этого файла без написания большого кода?Таким образом, если мне нужно изменить группы, которым разрешено посещать определенную страницу, я могу просто изменить список имен групп в файле.

1 Ответ

0 голосов
/ 02 февраля 2019

Если вы хотите, чтобы пользователи автоматически входили в систему, то хостинг в IIS - самый простой способ.Инструкции по настройке приведены здесь: Настройка проверки подлинности Windows в ASP.NET Core

Блокировка определенных частей сайта по группам AD также довольно проста.Вы просто используете AuthorizeAttribute над целым контроллером или просто действием и указываете Roles:

[Authorize(Roles = "DOMAIN\\GroupName")]

Если вы хотите группуимя, которое можно настроить, затем вы можете создать политику для каждой группы, которая читает имя группы из вашего appsettings.json (или где-то еще, на самом деле), и вы устанавливаете свойство Policy для AuthorizeAttributeвместо Roles.

Подробная информация о том, как настроить это, содержится в этом ответе: https://stackoverflow.com/a/48148149/1202807

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...