AccountManagement, aislamiento de FTP y acceso conmutado

A primera vista nada tienen que ver las tres partes que conforman el título de este comentario.  El pegamento que permite su fusión es Active Directory (AD).  Anteriormente mostré como acceder a las propiedades de un usuario de AD no expuestas por UserPrincipal a través del método GetUnderlyingObject.  Aquí muestro la forma “elegante” recomendada en la documentación, que consiste en crear una nueva clase personalizada que herede de UserPrincipal y que exponga las propiedades requeridas por nuestra aplicación.  Esto lo haré a través de un ejemplo práctico que utiliza propiedades poco documentadas de AD que lo vinculan con dos servicios bien conocidos: FTP y acceso conmutado (acceso teléfonico a redes, dialup).
Leer más de esta entrada

Servicios de Directorio en .NET 3.5

En los últimos días he trabajado intensamente en una nueva versión de un viejo sistema de gestión de usuarios de Active Directory (AD).  Son dolorosos los recuerdos de los primeros pasos intentando manipular los objetos de AD a través de C#, sobre todo por la escasa documentación sobre el tema.

La opción que ofrece .NET desde su primera versión son las clases del espacio de nombres System.DirectoryServices, que constituyen una concha de código administrado (managed code) sobre el componente COM Active Directory Service Interfaces (ADSI).  Sin duda estas clases brindan una potente herramienta para manipular completamente cualquier instrumentación de AD con la desventaja de todas las herramientas de bajo nivel:  cualquier operación, hasta las más comunes de creación de cuentas, listar, actualizar y eliminar (CRUD), se traduce en largos y oscuros pedazos de código llenos de trucos y parches.
Leer más de esta entrada