25 de marzo de 2020

:: Liferay. Error Configuración de autenticación a través del LDAP: invalid attribute description; remaining name

En Liferay es posible definir el proceso de autenticación a través de nuestro Directorio Activo Corporativo (LDAP). En este caso, u únicamente a modo de recordario sobre un problema -que al final era una tontería- pero que nos llevó un poco de tiempo localizar.

Tras llevar a cabo la definición -desde el panel de control de Liferay- del servidor LDAP y mapeo de los campos correspondientes, verificando que la prueba de conexión era correcta, a la hora de pulsar el botón: "Probar la configuración de usuarios LDAP", no devolvía ningún resultado y los logs se observaba la siguiente traza:


ERROR [ajp-bio-8009-exec-19][IncludeTag:129] Current URL /group/control_panel/manage?p_p_id=130&p_p_lifecycle=0&p_p_state=exclusive&p_p_mode=view&refererPlid=22323&_130_struts_action=%2Fportal_settings%2Ftest_ldap_users generates exception: javax.naming.directory.InvalidSearchFilterException: invalid attribute description; remaining name 'OU=Plantilla, OU=XXXXXXXX, DC=XXXXXXXX, DC=XXXXX'

javax.naming.directory.InvalidSearchFilterException: invalid attribute description; remaining name 'OU=Plantilla, OU=XXXXXXXX, DC=XXXXXXXX, DC=XXXXX'

        at com.sun.jndi.ldap.Filter.encodeSimpleFilter(Filter.java:446)

        at com.sun.jndi.ldap.Filter.encodeFilter(Filter.java:146)

        at com.sun.jndi.ldap.Filter.encodeFilterString(Filter.java:74)

        at com.sun.jndi.ldap.LdapClient.search(LdapClient.java:547)

        at com.sun.jndi.ldap.LdapCtx.doSearch(LdapCtx.java:1985)

        at com.sun.jndi.ldap.LdapCtx.searchAux(LdapCtx.java:1847)

        at com.sun.jndi.ldap.LdapCtx.c_search(LdapCtx.java:1772)

        at com.sun.jndi.toolkit.ctx.ComponentDirContext.p_search(ComponentDirContext.java:386)

        at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.java:356)

        at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.java:339)

        at javax.naming.directory.InitialDirContext.search(InitialDirContext.java:267)

        at com.liferay.portal.security.ldap.PortalLDAPUtil.searchLDAP(PortalLDAPUtil.java:820)

        at com.liferay.portal.security.ldap.PortalLDAPUtil.getUsers(PortalLDAPUtil.java:617)

        at org.apache.jsp.html.portlet.portal_005fsettings.test_005fldap_005fusers_jsp._jspService(test_005fldap_005fusers_jsp.java:677)

        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)

        at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)

        at com.liferay.portal.servlet.DirectRequestDispatcher.include(DirectRequestDispatcher.java:57)

        at com.liferay.portal.servlet.ClassLoaderRequestDispatcherWrapper.doDispatch(ClassLoaderRequestDispatcherWrapper.java:78)

        at com.liferay.portal.servlet.ClassLoaderRequestDispatcherWrapper.include(ClassLoaderRequestDispatcherWrapper.java:53)

        at com.liferay.taglib.util.IncludeTag.include(IncludeTag.java:295)


En nuestro caso el problema era que en el campo: "Filtro de búsqueda para la importación", habíamos puesto -debido a una modificación-: "((objectClass=Person))", cuando debería ser: "(objectClass=Person)", es decir, sobraría el "doble paréntesis".


No hay comentarios:

Publicar un comentario

Déjanos tu comentario

:: Liferay. Obtener los usuarios activos desde Groovy

Una solución rápida para obtener la relación de usuarios activos en Liferay 7.4 es por medio de un script en Groovy. Para ello accederemos a...