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".