Vamos a explicar como integrar LDAP(Lightweight Directory Access Protocol, Protocolo Ligero de Acceso a Directorios) con Drupal. En concreto nuestro sistema está compuesto por:
Zentyal un sistema completo para la gestión IT de una empresa, da soporte a múltiples funcionalidades y entre ellas las de directorio activo (gestión de usuarios y grupos) con OpenLDAP
OpenAtriumOpen Atrium es una intranet empaquetada que permite que diferentes equipos tengan su propio espacio de trabajo y conversaciones. Proporciona seis funcionalidades básicas: blog, wiki, calendarios, lista de tareas, microblog, y un panel para gestionarlo todo.Desarrollado sobre Drupal.
Aunque nosotros lo vamos a mostrar con OpenAtrium está funcionalidad de LDAP es perfectamente funcional con cualquier instalación de Drupal.
Para empezar demos conocer qué módulos tenemos disponibles en drupal.org:
Ldap integration,Nos permite realizar la sincronización de usuarios, controlar el acceso y también mapear grupos.
Ldap provisioning, amplía las funcionalidades del módulo anterior permitiendo un control mayor sobre el servidor LDAP
Nosotros nos centraremos en el primero, Ldap integration.
Instalamos el módulo en nuestro sitio web y lo activamos. Podremos ver como se ha creado un menú de opciones en: /admin/settings/ldap . 1. Authentication, 2. Data y 3. Groups
El siguiente paso será configurar el servidor LDAP, para ello accedemos a:/admin/settings/ldap/ldapauth/add
En nuestro caso los datos de acceso los pudimos consultar en el foro de ayuda de Zentyal (fuente).
NOMBRE: servidor ldap
LDAP SERVER: midominio.com
LDAP PORT: 389
Use Start-TLS: NO
Store passwords in encrypted form: NO
BASE DNS: ou=Users,dc=midominio,dc=com
USERNAME ATTRIBUTE: uid
EMAIL ATTRIBUTE: mail
DN FOR NON-ANONYMOUS SEARCH: cn=ebox,dc=midominio,dc=com
PASS: MIHtw2WbVj-5XNQQ
El sistema nos permite probar la conexión con el DN raíz y la pass del servidor LDAP. Simplemente clickear en TEST y si todo está correcto aparecerá un mensaje de que se ha realizado la conexión.
Guardamos. Estos datos los podemos obtener de la web de administración de zentyal: https://localhost/ebox/Users/Composite/Settings
En la pestaña Opciones, nosotros hemos configurado seleccionado lo siguiente: “Mixed mode. The LDAP authentication is performed only if Drupal authentication fails” y ” Associate local account with the LDAP entry” de esta forma nos aseguramos que Drupal sea accesible si el servidor LDAP falla.
En Data (/admin/settings/ldap/ldapdata) configuramos la sincronización en: “When user logs in.” y si editamos el servidor(/admin/settings/ldap/ldapdata/edit/1) nos aparecen más opciones, seleccionamos:
“Read/write” esto nos permite actualizar los perfiles de los usuarios desde Drupal a LDAP. Para mapear los campos debemos introducir su correspondiente en el servidor ldap, en nuestro caso es de la siguieten forma:
MAIL: description
PASS:
SIGNATURE: sn

Por último sólo nos queda probar a acceder con un usuario del servidor LDAP en Drupal, y listo!