Estoy trabajando en un complemento para uno de nuestros productos (un RMS) que permitirá a los clientes importar información de los empleados almacenados en su directorio LDAP en el correspondiente registro Persona en nuestra aplicación.¿Es Active Directory realmente compatible con LDAP?
Nuestro RMS permite Persona registros para tener varios nombres y direcciones (es un sistema de seguridad pública: esta función es para apoyar a personas con AKA y múltiples direcciones conocidas). Debido a la naturaleza del software, creemos que sería muy útil extraer múltiples nombres y direcciones de LDAP si el servidor LDAP lo admite.
Tenía la impresión de que el Directorio Activo soportaría esto, pero no parece en absoluto. Mirando RFC 2256, Secciones 5.41 y 5.42, por ejemplo, parece obvio que givenName
es un campo multivalor (es decir, la sintaxis no especifica SINGLE-VALUE
, y RFC 2252 establece que "multivalor" es el valor predeterminado). Lo mismo vale para cn
, sn
, streetAddress
, y casi cualquier otro atributo "estándar" que me moleste en buscar.
de Microsoft own documentation parece sugerir que están en conformidad con RFC 2256:
Actualmente, Windows 2000 Active Directory alcanza el cumplimiento LDAP a través del apoyo de los siguientes RFC.
[RFC 2256 aparece a continuación, entre los diversos RFC "compatibles", bajo el título "Requisitos Básicos de LDAP - RFC 3377"]
RFC 3377 Unidos que el RFC 2256 es de hecho parte de una colección de 8 de RFC que juntos comprenden la especificación técnica completa para LDAPv3.
Estoy confundido: no seguiría la sintaxis propuesta real para atributos estándar como givenName
et al. constituyen "incumplimiento"?
Además, ¿alguien tiene una lista definitiva de las diferencias entre conectarse y consultar Active Directory frente a otros servidores de directorio (OpenLDAP, eDirectory, etc.)? Esta es una aplicación VB6, así que he estado usando el proveedor ADODB ADSDSOObject
. Inicialmente, pensé que podría simplemente escribir el mismo código para cualquier servidor de directorio y hacerlo funcionar siempre que use atributos estándar, pero obviamente si el mismo atributo se define como valor único en algunas implementaciones y valor múltiple en otras, Tendré que escribir código para manejar ese escenario.
Estoy empezando a preguntarme si esta es una razón por la que muchas aplicaciones que tienen "integración LDAP" de algún tipo normalmente tienen una página de configuración completamente separada para "Active Directory", y luego las configuraciones para "cualquier otro LDAP" servidor que no es Active Directory "...
solo una cosa detesto más que LDAP, y eso es Lotus Notes –
Hmm .. Supongo que "compatible" no es lo mismo que "cumplimiento total". –
@Mitch Wheat: Si bien aún no he tenido el "placer" de usar Lotus Notes, a juzgar por todo lo que he escuchado y leído al respecto, creo que puedo decir que es una afirmación justa :-) –