tutorial open active ldap

open - ldap windows



¿Qué soluciona LDAP? (11)

He estado en contacto con LDAP en muchos proyectos en los que he estado involucrado pero, a decir verdad, realmente no lo entiendo. Pensé que era solo un directorio de personas, pero después descubrí que puede contener cualquier objeto en una estructura jerárquica.

Instalé OpenLdap en mi caja y encontré muchos tutoriales con respecto a la instalación.

¿Qué es LDAP? ¿Cuáles son los escenarios donde LDAP es la elección correcta? ¿Cuáles son los conceptos de LDAP que debería saber para trabajar con él? ¿Cuáles son las ventajas de LDAP? ¿Se usa solo porque las aplicaciones antiguas lo usaron? ¿Hay algún buen doc en Internet explicando todas estas preguntas?

ACTUALIZACIÓN : Complementando las respuestas encontré este enlace que contiene una guía de inicio rápido para principiantes de LDAP como yo.


¿Qué es LDAP? ¿Cuáles son los escenarios donde LDAP es la elección correcta?

En esencia, LDAP es un protocolo para acceder a objetos que son adecuados para el almacenamiento en un directorio. Si algo es "adecuado" es una determinación completamente subjetiva que queda en manos de los implementadores, pero típicamente esto significa colecciones de muchos objetos que cada uno tiene datos (o nunca) con poca frecuencia , donde cada objeto tiene una manera obvia o canónica de ser consultado:

  • una guía telefónica (buscar por nombre o por número de teléfono)
  • títulos en una biblioteca (buscar por título, autor, etc.)
  • inquilinos en un edificio (buscar por piso, suite, nombre, etc.)

y así.

Tenga en cuenta que LDAP en sí mismo es solo un protocolo y no proporciona ningún almacenamiento real, de la misma manera, HTTP no implica nada sobre si está usando Apache, Jetty, Tomcat, Mongrel, et al. como un servidor web. (Un problema con LDAP en general es la confusa reutilización de nombres para significar cosas diferentes. Wikipedia tiene una buena sección sobre esto).


En uno de mis viejos lugares de trabajo usamos LDAP como nuestro sistema de autenticación de usuario principal.

Esto a su vez proporcionó a nuestros diversos sistemas información sobre qué departamento. pertenecían a, donde deberían montar sus directorios de inicio, información de contacto, administración de empleados.

No necesariamente controlado por LDAP, pero otras cosas que habíamos mezclado para trabajar a través de LDAP era la existencia de usuarios de SQL, K4, samba y generación de cuentas de correo electrónico.


Estoy trabajando a tiempo parcial y soy estudiante a tiempo completo. Mi plan de estudios alienta (lee requiere) muchos proyectos grupales.

He usado openLdap y phpLdapAdmin para controlar el acceso a mis repositorios Subversion y Mercurial, proyectos Trac, Hudson, etc. No fue fácil de instalar, pero el tiempo ahorrado en la administración fue un envío de Dios.

Si tiene proyectos en los que tendrá muchos grupos de personas que necesitan poder usar diferentes recursos, es una buena herramienta.


LDAP es solo un protocolo, el artículo de wikipedia lo explica adecuadamente http://en.wikipedia.org/wiki/Lightweight_Directory_Access_Protocol

Es una forma de consultar una estructura organizacional subyacente como el Directorio Activo de Microsoft. Puede usar consultas LDAP para obtener todo tipo de información sobre usuarios, usarla para establecer derechos de aplicación, etc.


LDAP es un protocolo de acceso; solo proporciona una API para la tecnología subyacente para la cual está tratando de encontrar aplicaciones, un servicio de directorio . OpenLDAP es uno de los servicios de directorio de código abierto; Sun tiene otra implementación llamada OpenDS. Active Directory y Novell NDS son otros dos comúnmente vistos en el campo.

El directorio se puede usar para almacenar información sobre cualquier tipo de recurso y las relaciones entre los recursos, por ejemplo, los derechos de un usuario a un directorio, una impresora o un dispositivo de acceso a la red.


LDAP tiene un rendimiento de lectura O (1), a cambio de O (algo peor) rendimiento de escritura. Es ideal para datos a los que se accede con frecuencia, pero que cambian raramente: directorios de personas, nombres y direcciones de máquinas, etc. (de ahí el acrónimo: Protocolo ligero de acceso a directorios).

LDAP es la elección correcta donde el dolor de usar una base de datos que no es relacional, en términos de familiaridad de desarrollador reducida y características de rendimiento extraño, es menor que la ganancia de acceso de lectura deslumbrantemente rápido.


Los DIT son un esquema de descripción jerárquica que se presta a algos B-Tree muy bien, lo que resulta en un tremendo rendimiento de búsqueda en la mayoría de los casos. Directory Server, como OpenDS, devuelve búsquedas indexadas en microsegundos, mientras que los sistemas RDBMS son mucho más lentos. Los servidores de directorios (a menudo denominados servidores LDAP) intercambian recursos (RAM, CPU) por una respuesta de lectura rápida. Los sistemas RDBMS proporcionan una mayor funcionalidad en términos de gestión de los datos en cuestión. ¿Necesita velocidad con pocas o ninguna actualización, simplicidad y pequeño protocolo de red? Use un servidor de directorio. ¿Necesita capacidades de administración de datos y minería, y / o alta tasa de cambio de la base de datos con aspectos relacionales definidos entre los datos? Use un RDBMS (MySQL es su mejor apuesta aquí).


Una perspectiva que me gusta es que LDAP es una aplicación en la parte superior de una tienda de persistencia y una base de datos es una tienda de persistencia. Ambos pueden usarse para almacenar información del usuario.

LDAP le proporciona una jerarquía que es más difícil de hacer en una base de datos. Puede crear una jerarquía en una base de datos, pero es más difícil hacer cosas como delegación (estas filas le pertenecen solo a usted) o ACL en filas. Por lo tanto, es más fácil eliminar problemas de seguridad de la base de datos si usa LDAP para almacenar identidades de usuario. Tratar de resolverlo en la base de datos es extraño.

Al mismo tiempo, LDAP es terrible para informar contra (transformar LDAP a un DB para informar). Almacenar atributos en el árbol que necesitan ser buscados rápidamente puede ser problemático para el rendimiento (no haga esto, tenga un DB en el lateral o intente aplanar la consulta rediseñando su DIT). Almacenar atributos en un DIT muy profundo es simplemente un mal diseño LDAP o del sistema, pero a veces es inevitable si está vinculado a un producto de proveedor o una aplicación heredada.


Este enlace explicará LDAP http://blogs.oracle.com/raghuvir/entry/ldap

Usamos LDAP en nuestra oficina para búsquedas de direcciones de correo electrónico en toda la empresa. También lo utilizamos como un servicio de inicio de sesión único para nuestras aplicaciones internas.


¿Hay algún buen doc en Internet explicando todas estas preguntas?

IBM publicó un excelente libro rojo sobre LDAP. El título es: Entender LDAP - Diseño e Implementación .

Se puede descargar desde el enlace anterior.