Re: LDAP group and AD

"Old Man" <[email protected]> Thu, 25 Jan 2007 12:12:02 +0800
Newsgroups gmane.comp.cms.jahia.devel
Message-ID <[email protected]>
This is my connfigure of the groups.ldap.properties. hope it can help you!

# Configuration file for standard ldap server
groups.ldap.context.factory               = com.sun.jndi.ldap.LdapCtxFactory
groups.ldap.url                           = ldap://yourcomputer:389/
groups.ldap.authentification.mode         = simple
# don't use groups.ldap.public.bind.dn    =
cn=administrator,ou=xyz,dc=OPDEVNET
groups.ldap.public.bind.dn                =administrator@OPDEVNET

# 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          =abcpassword

# attribute holding the group name
groups.ldap.search.attribute              = cn
# base dn search
groups.ldap.search.name                      = DC=OPDEVNET
groups.ldap.search.countlimit               = 100

groups.ldap.search.objectclass            = group
groups.ldap.members.attribute               = member
groups.ldap.dynamic.search.objectclass    = memberOf
groups.ldap.dynamic.members.attribute       = cn

# objectclasses and member attributes
#groups.ldap.search.objectclass            = groupOfUniqueNames
#groups.ldap.members.attribute               = uniqueMember
#groups.ldap.dynamic.search.objectclass    = groupOfURLs
#groups.ldap.dynamic.members.attribute       = memberurl

# if set to false, group members will not be preloaded and members will not
appear in engines
groups.ldap.preload                       = true

# the following defines the attributes to use for wildcard search such as
*=*test*
groups.ldap.search.wildcards.attributes   = cn,description,uniqueMember


# 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




On 1/25/07, Sébastien Caty <[email protected]> wrote:
>
> 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
>