LDAP group and AD

Sébastien Caty <[email protected]> Wed, 24 Jan 2007 17:38:10 -0500
Newsgroups gmane.comp.cms.jahia.devel
Message-ID <[email protected]>
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