2008-10-16 19 views
14

Estoy intentando hacer algo simple (pensé) - asegurar mi aplicación usando seguridad basada en roles usando grupos de Active Directory en nuestro dominio.Asp.Net Autenticación basada en roles usando grupos de seguridad en Active Directory

Específicamente, necesito mostrar/ocultar elementos en una página dependiendo de si el usuario que ha iniciado sesión actualmente es parte de domain\groupA en Active Directory. Por alguna razón, es difícil encontrar información sobre el uso de Active Directory para esto. Todo lo que parece encontrar entra en detalles sobre el uso de autenticación basada en formularios utilizando roles, o usa un DB para almacenar la información.

Todo lo que quiero hacer es utilizar nuestra estructura de seguridad ya descrita en nuestro Active Directory. ¿Alguien puede explicar lo que necesito?

¿Necesito:

  1. <roleManager enabled="true"/> en web.config
  2. <allow roles ="domain\groupA"/> en web.config
  3. IIS establecido en Windows autenticación
  4. if (User.IsInRole(@"domain\groupA")){ //do stuff } en mi página?

¿Qué más me hace falta? ¿Cualquier cosa? porque no está funcionando. heh.

Gracias por su ayuda.

Respuesta

22

Probablemente solo necesite agregar un RoleProvider a su web.config para decirle a la aplicación cómo realizar búsquedas contra AD.

Código de muestra de here.

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