2011-02-10 25 views
12

Estoy utilizando la autenticación de Windows en mi aplicación asp.net MVC 3. ¿Hay alguna manera posible de sacar la información de los usuarios del directorio activo?Obtención de información de Active Directory al usar la autenticación de Windows?

Sé que puedo user User.Name.Identity y eso funciona para el nombre de inicio de sesión. Pero, ¿qué pasa con obtener el Nombre de usuario, Apellido e incluso la Descripción u Oficina todo desde el directorio activo. ¿Es esto posible a través de .net?

Respuesta

22

Por supuesto !! Si usa .NET 3.5 o superior, en realidad es bastante fácil.

Básicamente, use el espacio de nombres System.DirectoryServices.AccoutManagement (lea todo al respecto aquí: Managing Directory Security Principals in the .NET Framework 3.5).

Entonces: es necesario "encontrar" al usuario y apoderarse de sus propiedades - código de uso algo como esto:

// create domain context 
PrincipalContext ctx = new PrincipalContext(ContextType.Domain); 

// find the user 
UserPrincipal user = UserPrincipal.FindByIdentity(ctx, "username"); 

if(user != null) 
{ 
    // access the user's properties in a nice, object-oriented way 
} 
+1

¡Gracias, gracias! – twal

+0

@twal no se olvide de aceptar esta respuesta si funcionó para usted. –

+0

@marc_s lo que me interesa es cómo debo almacenar esta información de usuario para evitar demasiados toques en AD. Cookie o sesión [] colección? ¿O algo mas? Todo lo que quiero hacer es guardar el nombre para mostrar de duder para más adelante sin tener que tocar AD cada vez que llega una solicitud a IIS. ¿Qué piensas? –

5

Si el código se ejecuta en el contexto del usuario que necesita información para, se pone aún más ligero (es decir, la autenticación de Windows):

//Must reference System.DirectoryServices.AccountManagement 
var user = UserPrincipal.Current; 

var firstName = user.GivenName; 
var lastName = user.Surname; 
0

en mi entorno he tenido que añadir esto a la sección en el archivo Web.config:

<identity impersonate="true" /> 
Cuestiones relacionadas