#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)); Сразу станет видно в каком формате там роли передаются.
Комментариев нет:
Отправить комментарий