#aspnet #active_directory #azure
Имеется Локальная Active Directory и её реплика в Azure Active Directory. Пишу Asp.net приложение с аутентификацией через рабочие аккаунты в облаке, аутентификация работает нормально. Хочу проверить, принадлежит ли пользователь определенной группе с помощью такого кода: User.Identity.IsInRole("имя_группы"); или [Authorize(Role = "имя_группы")] Проблема в том, что если в приложении windows-аутентификация, то в локальной AD группы указываются как ДОМЕН\имя_группы (например Contoso\administrators), но в Azure AD же нет доменов? Как правильно указать группу в условии? Авторизация проходит через ADFS, который в том же Azure.
Ответы
Ответ 1
Так сделайте тестовую страничку, на которой без авторизации выведите список ролей пользователя. Например, так: public ActionResult Roles() => Content(string.Join(",", from claim in ((ClaimsIdentity)User.Identity).Claims.FindAll(ClaimTypes.Role) select claim.Value)); Сразу станет видно в каком формате там роли передаются.
Комментариев нет:
Отправить комментарий