Аутентификация на основе ролей Asp.Net с использованием групп безопасности в Active Directory
-
03-07-2019 - |
Вопрос
Я пытаюсь сделать что-то простое (как я думал) - защитить свое приложение с помощью ролевой безопасности с использованием групп Active Directory в нашем домене.
В частности, мне нужно показывать/скрывать элементы на странице в зависимости от того, является ли текущий вошедший в систему пользователь частью domain\groupA
в Active Directory.Почему-то сложно найти информацию об использовании для этого Active Directory.Все, что мне удалось найти, касается деталей использования аутентификации на основе форм с использованием ролей или использования БД для хранения информации.
Все, что я хочу сделать, это использовать уже намеченную структуру безопасности в нашей Active Directory.Может кто-нибудь объяснить, что мне нужно?
Нужно ли мне:
<roleManager enabled="true"/>
вweb.config
<allow roles ="domain\groupA"/>
вweb.config
- IIS настроен на аутентификацию Windows
if (User.IsInRole(@"domain\groupA")){ //do stuff }
на моей странице?
Что еще мне не хватает?Что-либо?потому что это не работает.хех.
Спасибо всем за вашу помощь.
Решение
Вероятно, вам просто нужно добавить RoleProvider в ваш web.config, чтобы сообщить приложению, как выполнять поиск в AD.
Пример кода из здесь.
<roleManager defaultProvider="WindowsProvider"
enabled="true"
cacheRolesInCookie="false">
<providers>
<add
name="WindowsProvider"
type="System.Web.Security.WindowsTokenRoleProvider" />
</providers>
</roleManager>