« Atrás

Liferay 6.1, trabajando con LDAP

En este artículo pretendemos describir el proceso para, trabajando con LDAP, Liferay Portal no obligue al usuario a resetear contraseñas ni a tener que contestar a preguntas como ¿Cuál es el segundo apellido de tu padre?.

Introducción

Si no conocéis el panel de control de Liferay Portal y cómo de una forma fácil y sencilla podemos trabajar con LDAP para gestionar los procesos de autenticación, aquí tenéis una presentación que os puede ser de interés.

En principio, si conocéis los parámetros del LDAP contra el que váis a trabajar y seguís la presentación anteriormente mencionada, no váis a tener ningún problema a la hora de configurarlo.

Ahora bien, nos hemos encontrado con el siguiente problema, cuando un usuario dado de alta en el LDAP intenta acceder al portal, el sistema le obliga a resetear la contraseña y a contestar la típica pregunta. Alguien hacía referencia a este tema en el siguiente enlace. He necesitado un rato para ver qué está pasando. Hemos jugado con la configuración definiendo diferentes escenarios:

Escenario 1

Se activa la configuración LDAP pero sin activar su política de contraseñas.

Apartado Autentificación dentro de la sección Configuración:

    Opción Habilitado activo y

 

 

     Política de contraseñas no activo.

 

 

Apartado Usuarios dentro de la sección Configuración:

    La opción Se exige aceptar las condiciones de uso NO activo.

 

Resultado:

Cuando un usuario dado de alta dentro del LDAP intenta acceder la primera vez al portal, éste no se lo permite. La autenticación no se produce adecuadamente. El mensaje de error es:

08:28:36,429 ERROR [http-bio-8080-exec-6][LDAPAuth:327] Problem accessing LDAP server
com.liferay.portal.UserPasswordException
    at com.liferay.portal.security.pwd.PasswordPolicyToolkit.validate(PasswordPolicyToolkit.java:116)
    at com.liferay.portal.security.pwd.ToolkitWrapper.validate(ToolkitWrapper.java:49)
    at com.liferay.portal.security.pwd.PwdToolkitUtil.validate(PwdToolkitUtil.java:49)
    at com.liferay.portal.service.impl.UserLocalServiceImpl.validate(UserLocalServiceImpl.java:5533)
    at com.liferay.portal.service.impl.UserLocalServiceImpl.addUserWithWorkflow(UserLocalServiceImpl.java:668)
    at com.liferay.portal.service.impl.UserLocalServiceImpl.addUser(UserLocalServiceImpl.java:539)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

Escenario 2

Para cambiar esta situación, activamos la política de contraseñas gestionada desde LDAP.

Apartado Autentificación dentro de la sección Configuración:

    Opción Habilitado activo y Política de contraseñas activo.

Apartado Usuarios dentro de la sección Configuración:

    Se exige aceptar las condiciones de uso NO activo.

Resultado:

Cuando un usuario dado de alta dentro del LDAP intenta acceder la primera vez al portal, la autenticación se produce correctamente pero nos pide que respondamos a una pregunta, lo que habitualmente llamamos reminder queries.

Escenario 3

No queremos que aparezcan estas preguntas la primera vez que el usuario accede al sistema

Apartado Autentificación dentro de la sección Configuración:

    Opción Habilitado activo y Política de contraseñas activo.

Apartado Usuarios dentro de la sección Configuración:

    Se exige aceptar las condiciones de uso NO activo.

Fichero portal-ext.properties

users.reminder.queries.enabled=false
users.reminder.queries.custom.question.enabled=false

Resultado:

Cuando un usuario dado de alta dentro del LDAP intenta acceder la primera vez al portal, la autenticación se produce correctamente y accede al portal.

Comentarios
comments powered by Disqus