sábado, 9 de mayo de 2015

Moodle autenticando usuarios con Active Directory

Hace varias semanas tuve el requerimiento de crear los más de 80 usuarios de la red en la plataforma moodle para una tarea que se asignaría a todos. Si hay algo que los usuarios detestan es tener una contraseña diferente para cada aplicación que se autentica, y más si se trata de aplicaciones cuya función no están ligadas sus funciones principales.

Por eso, cada vez que evalúo una plataforma para implementarla, uno de los puntos que tomo en cuenta es la integración con Active Directory. Solo imagínense esta situación: Contraseña para la computadora que vence cada cierto tiempo (Active Directory), contraseña para el correo, contraseña para el ERP que vence cada cierto tiempo, contraseña del ERP anterior que se sigue usando, contraseña de aplicaciones de terceros en internet (banca, seguro, reclutamiento etc..), las contraseñas de las cuentas personales (hotmail, gmail, facebook, twitter, instagram) y arriba de todo eso ahora yo vengo y les digo que tienen que tener una contraseña nueva para otra plataforma....solo imaginense sus caras.

Por eso tomé la desición de autenticar Moodle con Active Directory, para así decirle en el lenguaje de ellos "Entra con el usuario y contraseña de tu computadora" y que tengan menos cosas que recordar. Las herramientas que utilicé fueron las siguientes:

- Windows Server 2003 Server (Sí ya se, lo voy a migrar este año)
- Una cuenta de Active Directory (Suelo usar una tipo Domain Users, no es neceario que sea Administrativa, solo es para hacer queries LDAP)
- Moodle (No importa la plataforma, yo la tengo en CentOS 6)

Pasos previos

- Asegurate que el servidor moodle y Active Directory se den ping, que tengan comunicación a través del puerto LDAP (389) y si los separa un firewall crea una regla que permita comunicación directa entre ellos.
- Asegurate de que puedas iniciar sesión en una computadora del dominio con la cuenta de usuario de Active Directory que creaste para este fin.

Pasos:

1- Ir a Administración de sitios - Caracteristicas avanzadas - Extensiones - Identificación - Gestionar Identificación.

2- Habilitar (click en el ojo) Usar servidor LDAP, después donde dice Configuración.

3- La parametrización es la siguiente, sustituya según su conveniencia:

Ajustes de servidor LDAP

URL del host: ldap://ip-del-servidor-active-directory
Versión: 3
Usar TLS: No
Codificación LDAP: utf-8
Tamaño de página: 250

Fijar ajustes

Mapeado de datos

Nombre: GivenName
Apellidos: Sn
Dirección de correo: mail
Los demás campos se quedan por defecto.

Ya solo queda hacer click en guardar y ya los usuarios podrán autenticarse por Active Directory.






10 comentarios:

  1. Una vez hecha la configuración como la pruebo? como veo que se sincronizaron los usuarios?

    ResponderEliminar
  2. Saludos:

    Inicia sesión con uno de los usuarios de active directory. Ellos se agregarán según inicien sesión.

    ResponderEliminar
  3. al configurar DLAP me sale este mensaje

    Advertencia: El módulo LDAP de PHP no parece estar presente. Por favor asegúrese que esté instalado y activado.

    ResponderEliminar
    Respuestas
    1. En el php.ini quitar las comillas a la extension php_ldap.dll

      Eliminar
  4. buenas... como saco el contexto... saludos.

    ResponderEliminar
    Respuestas
    1. A partir de la combinación de la unidad organizativa al cual pertenecen los usuarios. La información adicional es la del nombre del dominio y el TLD al cual pertenece.

      Eliminar
    2. ¿osea que todos los usuarios tienen que estar en una unidad organizativa para poder acceder?
      saludos...

      Eliminar
    3. Error que a mi sales es que no puedo loguearme con un usuario desde el moodle... hice todos los pasos que mencionas..

      Eliminar