Hello,
I'm having some problem getting Jahia to working with LDAP groups. LDAP users
are working fine, however LDAP are not working properly no matter what I tried
within groups.ldap.properties. LDAP server are running Windows 2003, tested on
Jahia 4.0.5 and 4.0.7.
Now the member attribute in the schema is member (instead of uniqueMember given
in the example). If I keep it with uniqueMember, I can see all the groups but
there will be no members define (this is expected since the uniqueMember
attribute doesn't exist). When I set it at member this is the error I get :
java.lang.reflect.InvocationTargetException
at
jrockit.reflect.NativeMethodInvoker.invoke0(Ljava/lang/Object;ILjava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;(Unknown
Source)
at
jrockit.reflect.NativeMethodInvoker.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;(Unknown
Source)
at
jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;(Unknown
Source)
at
java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;I)Ljava/lang/Object;(Unknown
Source)
at
org.jahia.services.usermanager.JahiaGroupManagerRoutingService.routeCall(Ljava/lang/String;[Ljava/lang/Class;Ljava/util/Properties;ILjava/util/Vec$
at
org.jahia.services.usermanager.JahiaGroupManagerRoutingService.searchGroups(ILjava/util/Properties;)Ljava/util/Set;(JahiaGroupManagerRoutingServic$
at
org.jahia.data.viewhelper.principal.PrincipalViewHelper.getGroupSearchResult(Ljavax/servlet/http/HttpServletRequest;I)Ljava/util/Set;(PrincipalVie$
at
org.jahia.admin.users.ManageGroups.displayGroupList(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljavax/servlet/$
at
org.jahia.admin.users.ManageGroups.userRequestDispatcher(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljavax/ser$
at
org.jahia.admin.users.ManageGroups.<init>(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljavax/servlet/http/HttpS$
at
org.jahia.bin.JahiaAdministration.userRequestDispatcher(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljavax/serv$
at
org.jahia.bin.JahiaAdministration.service(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V(JahiaAdministration.ja$
at
javax.servlet.http.HttpServlet.service(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V(HttpServlet.java:809)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V(ApplicationFilter$
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V(ApplicationFilterChain.ja$
at
org.apache.catalina.core.StandardWrapperValve.invoke(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;Lorg/apache/catalina/ValveContext;$
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;)V(St$
at
org.apache.catalina.core.StandardPipeline.invoke(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;)V(StandardPipeline.java:433)
at
org.apache.catalina.core.ContainerBase.invoke(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;)V(ContainerBase.java:948)
at
org.apache.catalina.core.StandardContextValve.invoke(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;Lorg/apache/catalina/ValveContext;$
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;)V(St$
at
org.apache.catalina.core.StandardPipeline.invoke(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;)V(StandardPipeline.java:433)
at
org.apache.catalina.core.ContainerBase.invoke(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;)V(ContainerBase.java:948)
at
org.apache.catalina.core.StandardContext.invoke(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;)V(StandardContext.java:2358)
at
org.apache.catalina.core.StandardHostValve.invoke(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;Lorg/apache/catalina/ValveContext;)V($
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;)V(St$
at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;Lorg/apache/catalina/ValveContex$
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;)V(St$
at
org.apache.catalina.valves.ErrorReportValve.invoke(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;Lorg/apache/catalina/ValveContext;)V$
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;)V(St$
at
org.apache.catalina.core.StandardPipeline.invoke(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;)V(StandardPipeline.java:433)
at
org.apache.catalina.core.ContainerBase.invoke(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;)V(ContainerBase.java:948)
Caused by: java.lang.NullPointerException
at
org.jahia.services.usermanager.JahiaGroupManagerLDAPProvider.getGroupMembers(Ljavax/naming/directory/SearchResult;)Ljava/util/Hashtable;(JahiaGrou$
at
org.jahia.services.usermanager.JahiaGroupManagerLDAPProvider.ldapToJahiaGroup(Ljavax/naming/directory/SearchResult;)Lorg/jahia/services/usermanage$
at
org.jahia.services.usermanager.JahiaGroupManagerLDAPProvider.searchGroups(ILjava/util/Properties;)Ljava/util/Set;(JahiaGroupManagerLDAPProvider.ja$
at
jrockit.reflect.NativeMethodInvoker.invoke0(Ljava/lang/Object;ILjava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;(Unknown
Source)
at
jrockit.reflect.NativeMethodInvoker.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;(Unknown
Source)
at
jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;(Unknown
Source)
at
java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;I)Ljava/lang/Object;(Unknown
Source)
at
org.jahia.services.usermanager.JahiaGroupManagerRoutingService.routeCall(Ljava/lang/String;[Ljava/lang/Class;Ljava/util/Properties;ILjava/util/Vec$
at
org.jahia.services.usermanager.JahiaGroupManagerRoutingService.searchGroups(ILjava/util/Properties;)Ljava/util/Set;(JahiaGroupManagerRoutingServic$
at
org.jahia.data.viewhelper.principal.PrincipalViewHelper.getGroupSearchResult(Ljavax/servlet/http/HttpServletRequest;I)Ljava/util/Set;(PrincipalVie$
at
org.jahia.admin.users.ManageGroups.displayGroupList(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljavax/servlet/$
at
org.jahia.admin.users.ManageGroups.userRequestDispatcher(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljavax/ser$
at
org.jahia.admin.users.ManageGroups.<init>(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljavax/servlet/http/HttpS$
at
org.jahia.bin.JahiaAdministration.userRequestDispatcher(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljavax/serv$
at
org.jahia.bin.JahiaAdministration.service(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V(JahiaAdministration.ja$
at
javax.servlet.http.HttpServlet.service(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V(HttpServlet.java:809)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V(ApplicationFilter$
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V(ApplicationFilterChain.ja$
at
org.apache.catalina.core.StandardWrapperValve.invoke(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;Lorg/apache/catalina/ValveContext;$
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;)V(St$
at
org.apache.catalina.core.StandardPipeline.invoke(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;)V(StandardPipeline.java:433)
at
org.apache.catalina.core.ContainerBase.invoke(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;)V(ContainerBase.java:948)
at
org.apache.catalina.core.StandardContextValve.invoke(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;Lorg/apache/catalina/ValveContext;$
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;)V(St$
at
org.apache.catalina.core.StandardPipeline.invoke(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;)V(StandardPipeline.java:433)
at
org.apache.catalina.core.ContainerBase.invoke(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;)V(ContainerBase.java:948)
at
org.apache.catalina.core.StandardContext.invoke(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;)V(StandardContext.java:2358)
at
org.apache.catalina.core.StandardHostValve.invoke(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;Lorg/apache/catalina/ValveContext;)V($
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;)V(St$
at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;Lorg/apache/catalina/ValveContex$
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;)V(St$
at
org.apache.catalina.valves.ErrorReportValve.invoke(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;Lorg/apache/catalina/ValveContext;)V$
Current group.ldap.properties setup :
# Configuration file for standard ldap server
groups.ldap.context.factory = com.sun.jndi.ldap.LdapCtxFactory
groups.ldap.url = (removed)
groups.ldap.authentification.mode = simple
groups.ldap.public.bind.dn = (removed)
# if you need to login to do public browsing of the directory, uncomment the
following line and enter the password.
groups.ldap.public.bind.password = (removed)
# attribute holding the group name
groups.ldap.search.attribute = cn
# base dn search
groups.ldap.search.name =
CN=Gr_test_dfi,OU=TestCPR,DC=ulaval,DC=ca
groups.ldap.search.countlimit = 5000
groups.ldap.search.objectclass = group
# the following defines the attributes to use for wildcard search such as
*=*test*
groups.ldap.search.wildcards.attributes = cn,dn,description,member
# attribute containing members of a group
groups.ldap.members.attribute = member
users.ldap.uid.search.attribute = cn
users.ldap.uid.search.name = OU=Comptes,DC=ulaval,DC=ca
# Map attribute, that indicate which LDAP attribute to map to Jahia standard
properties
# Make sure you comment out the ones you are not using, especially if the LDAP
# repository contains same names attributes. If you don't searching goups will
# most probably not work correctly.
groups.ldap.groupname.attribute.map = cn
groups.ldap.description.attribute.map = description
The member attribute is defined as being : CN=...,OU=...,DC=...,DC=...
Anyone seen this? What could be the cause?
Sébastien