Asp.Net Ролевая аутентификация с использованием групп безопасности в Active Directory - PullRequest
14 голосов
/ 16 октября 2008

Я пытаюсь сделать что-то простое (подумал я) - защитить свое приложение с помощью ролевой безопасности с помощью групп 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 } на моей странице?

Что еще мне не хватает? Что-нибудь? потому что это не работает. хех.

Спасибо всем за помощь.

1 Ответ

22 голосов
/ 16 октября 2008

Возможно, вам просто нужно добавить RoleProvider в ваш web.config, чтобы сообщить приложению, как выполнять поиск по AD.

Пример кода от здесь .

<roleManager defaultProvider="WindowsProvider" 
  enabled="true"
  cacheRolesInCookie="false">
  <providers>
    <add
      name="WindowsProvider"
      type="System.Web.Security.WindowsTokenRoleProvider" />
  </providers>
</roleManager>
...