Аутентификация на основе ролей Asp.Net с использованием групп безопасности в Active Directory

StackOverflow https://stackoverflow.com/questions/209242

Вопрос

Я пытаюсь сделать что-то простое (как я думал) - защитить свое приложение с помощью ролевой безопасности с использованием групп Active Directory в нашем домене.

В частности, мне нужно показывать/скрывать элементы на странице в зависимости от того, является ли текущий вошедший в систему пользователь частью domain\groupA в Active Directory.Почему-то сложно найти информацию об использовании для этого Active Directory.Все, что мне удалось найти, касается деталей использования аутентификации на основе форм с использованием ролей или использования БД для хранения информации.

Все, что я хочу сделать, это использовать уже намеченную структуру безопасности в нашей Active Directory.Может кто-нибудь объяснить, что мне нужно?

Нужно ли мне:

  1. <roleManager enabled="true"/> в web.config
  2. <allow roles ="domain\groupA"/> в web.config
  3. IIS настроен на аутентификацию Windows
  4. 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>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top