asp.net mvc и Azure авторизация на основе группы безопасности активного каталога

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

Аутентификация в Active Directory может быть выполнена самой Visual Studio с помощью мастера, но не уверен, как выполнить авторизацию через группу безопасности AAD.

PS Я новичок в безопасности ASP.NET

1 ответ

Решение

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

Вот пример приложения, которое выполняет авторизацию на основе групповых утверждений:

Авторизация в веб-приложении с использованием групп и утверждений Azure AD

Групповые претензии

введите описание изображения здесь

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ ДЛЯ РАССМОТРЕНИЯ ПРИ РЕАЛИЗАЦИИ АВТОРИЗАЦИОННОЙ ЛОГИКИ

  1. Вы специально задали вопрос о группах, но вам также следует рассмотреть возможность использования ролей приложений, которые могут помочь вам реализовать логику авторизации на основе ролей. Посмотрите на ссылку на документацию Microsoft. Вот ссылка на другой похожий вопрос, где я предоставил немного более подробную информацию о ролях приложений и группах и ссылки на пример кода для обоих. Интеграция Azure Active Directory с настраиваемым RBAC

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

  2. В случае, когда пользователь входит в состав многих групп (6 или более AFAIK), токен Azure AD не отправляет через "группы" напрямую как часть токена, вместо этого он отправляет индикатор превышения, а затем вы можете запросить группы в отдельный звонок. Взгляните на документацию, связанную с токеном, здесь - Претензии в id_tokens

введите описание изображения здесь

Другие вопросы по тегам