AndorraDotNet

Comunitat d'usuaris .NET del pais dels pirineus
¿No perteneces a AndorraDotNet? ¡Regístrate y sé un miembro!
Iniciar sesión | REGÍSTRATE AQUÍ | Ayuda
en Buscar

400 Bad Request

Dímelo con flores ;-)

HowTo: LDAP, obtener propiedades de la clase user

Hace poco publicaba una actualización del método getUserLDAProperties de la clase LDAPservices. Esta función se encarga de recuperar todas las propiedades de la clase 'user' definidas  en el esquema del AD de la organización.

LDAPUserProperties

La verdad es que dicha corrección no me terminaba de satisfacer. Así que después de bucear un poco por el modelo de objetos del namespace System.DirectoryServices.ActiveDirectory he encontrado un método más elegante, y que además permite acceder a más propiedades opcionales (algo que la anterior versión no permitía).

Os dejo aquí el código y en cuando tenga un minuto actualizo el código fuente de LDAPServices en skydrive.

public static List<string> 
    getUserLDAPProperties(string LDAPURL)
{
    List<string> properties =new List<string>();
    ActiveDirectorySchema objADSchema = ActiveDirectorySchema.GetCurrentSchema();
    ActiveDirectorySchemaClass objADUserSchema;
    ActiveDirectorySchemaPropertyCollection objADPropertiesCollection;
    objADUserSchema = objADSchema.FindClass("user");
    objADPropertiesCollection = objADUserSchema.MandatoryProperties;
    foreach (ActiveDirectorySchemaProperty objADSchemaProperty in objADPropertiesCollection)
    {
        properties.Add(objADSchemaProperty.Name);
    }
    objADPropertiesCollection = objADUserSchema.OptionalProperties;
    foreach (ActiveDirectorySchemaProperty objADSchemaProperty in objADPropertiesCollection)
    {
        properties.Add(objADSchemaProperty.Name);
    }
    return (from p in properties orderby p select p).ToList();
}

Nos vemos!

** crossposting desde el blog de Lluís Franco en geeks.ms **

Comentarios

Aún no ha hecho nadie ningún comentario. Escribe alguno y sé el primero :P

About lfranco

Nacido en 1971 en Barcelona (España), Lluís Franco es MVP en la categoría de Visual Developer desde 2003, MCP Developer, Project Manager y desarrollador en Fimarge Societat Gestora de Patrimonis, situada en Andorra. Desde 1994, ha estado principalmente trabajando en el desarrollo de aplicaciones sobre plataformas Windows. Está especializado en desarrollos financieros con Visual Basic, SQL Server y últimamente C# y ASP.NET. Ha colaborado con campusMVP impartiendo formación sobre ADO.NET, juntamente con otros MVPs como José M. Alarcón Aguín, Rodrigo Corral, Octavio Hernández, Iván González, Alejandro Mezcua, Salvador Ramos, Guillermo Som, "El Guille" o Unai Zorrilla Castro. Mantiene varios sitios Web y blogs, y también colabora con publicaciones especializadas como dotnetmania.
Ofrecido por Community Server (Commercial Edition)