I meant Olivier Grisel.  I don't see any response from Olivier Adams in this 
thread (except in your most recent post, Olivier Grisel).  Where did you see 
Olivier Adams' post?  I am looking at this thread, where your post just ended 
up and where I'm responding:
http://www.nuxeo.org/discussions/thread.jspa?threadID=971

In any case, I replaced my entire references section in 
default-ldap-groups-directory-bundle.xml with Olivier Adams' suggested 
configuration, uploaded to my server, restarted JBoss, and still I'm having the 
same problems.  To Olivier Adams' statement about member vs. memberOf in the 
groups schema, the members of a group are in fact listed with the member 
attribute and not memberOf.  In a user schema, the groups to which a user 
belongs are listed with memberOf attributes.  

I will provide you a restatement of the application behaviors as they currently 
stand followed by the current versions of my config files with all suggested 
changes incorporated.

APPLICATION BEHAVIORS (what's working, what's not, and all error messages I 
could find from the browser).
1) I can successfully log in with an AD user.
2) If I go to "Members management" and I search for * I can successfully list 
all users from my AD.
3) If I click on a user in that list, under the "View" tab I can successfully 
see the AD groups to which that user belongs listed after "Groups for this 
user".
4) If I click the "Edit" tab for that user,  I get the following Tomcat error:

+HTTP Status 404 - 
/nuxeo/nxdoc/default/67c235ba-e6f9-4f93-badf-ce298b86b75b/edit_user+

+--------------------------------------------------------------------------------+

+type Status report+

+message /nuxeo/nxdoc/default/67c235ba-e6f9-4f93-badf-ce298b86b75b/edit_user+

+description The requested resource 
(/nuxeo/nxdoc/default/67c235ba-e6f9-4f93-badf-ce298b86b75b/edit_user) is not 
available.+


+--------------------------------------------------------------------------------+

+Apache Tomcat/5.5.20+

5) If I click the Groups tab and search for Domain Admins, it comes back 
without an error but the one result found shows a group name comes back as 
"null".  If I click on the "null", I get the following Nuxeo error (not Tomcat, 
this one has a Nuxeo logo):
+An error occurred+
+???java.lang.NullPointerException???+
+Back+
+Change Username+
+Show Stacktrace+

If I show the stacktrace, here's the result:

+javax.servlet.ServletException Exception: java.lang.NullPointerException. 
message: null javax.faces.webapp.FacesServlet.service(FacesServlet.java:256) 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:100)
 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 org.jboss.seam.servlet.SeamRedirectFilter.doFilter(SeamRedirectFilter.java:32) 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 
org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._invokeDoFilter(TrinidadFilterImpl.java:209)
 
org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:166)
 
org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:139)
 
org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 
org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:96)
 org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:220) 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 
org.nuxeo.ecm.platform.ui.web.rest.FancyURLFilter.doFilter(FancyURLFilter.java:115)
 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 
org.nuxeo.ecm.platform.ui.web.auth.NuxeoAuthenticationFilter.doFilter(NuxeoAuthenticationFilter.java:414)
 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 
org.nuxeo.ecm.platform.ui.web.shield.NuxeoExceptionFilter.doFilter(NuxeoExceptionFilter.java:104)
 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 
org.jboss.seam.servlet.SeamExceptionFilter.doFilter(SeamExceptionFilter.java:46)
 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
 
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
 
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74) 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) 
org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) 
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
 
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
 
org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
 java.lang.Thread.run(Thread.java:595) org.nuxeo.ecm.core.api.WrappedException 
Exception: java.lang.NullPointerException. message: null 
org.nuxeo.ecm.webapp.security.GroupManagerActionsBean.refreshGroup(GroupManagerActionsBean.java:177)
 
org.nuxeo.ecm.webapp.security.GroupManagerActionsBean.viewGroup(GroupManagerActionsBean.java:158)
 
org.nuxeo.ecm.webapp.security.GroupManagerActionsBean$$FastClassByCGLIB$$e4be0e96.invoke()
 net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149) 
org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:45)
 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:55)
 
org.jboss.seam.interceptors.OutcomeInterceptor.interceptOutcome(OutcomeInterceptor.java:21)
 sun.reflect.GeneratedMethodAccessor147.invoke(Unknown Source) 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 java.lang.reflect.Method.invoke(Method.java:585) 
org.jboss.seam.util.Reflections.invoke(Reflections.java:18) 
org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:169) 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:64)
 
org.jboss.seam.interceptors.RollbackInterceptor.rollbackIfNecessary(RollbackInterceptor.java:29)
 sun.reflect.GeneratedMethodAccessor146.invoke(Unknown Source) 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 java.lang.reflect.Method.invoke(Method.java:585) 
org.jboss.seam.util.Reflections.invoke(Reflections.java:18) 
org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:169) 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:64)
 
org.jboss.seam.interceptors.BijectionInterceptor.bijectNonreentrantComponent(BijectionInterceptor.java:89)
 
org.jboss.seam.interceptors.BijectionInterceptor.bijectComponent(BijectionInterceptor.java:68)
 sun.reflect.GeneratedMethodAccessor149.invoke(Unknown Source) 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 java.lang.reflect.Method.invoke(Method.java:585) 
org.jboss.seam.util.Reflections.invoke(Reflections.java:18) 
org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:169) 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:64)
 
org.jboss.seam.interceptors.ConversationInterceptor.endOrBeginLongRunningConversation(ConversationInterceptor.java:52)
 sun.reflect.GeneratedMethodAccessor145.invoke(Unknown Source) 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 java.lang.reflect.Method.invoke(Method.java:585) 
org.jboss.seam.util.Reflections.invoke(Reflections.java:18) 
org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:169) 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:64)
 
org.jboss.seam.interceptors.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:27)
 sun.reflect.GeneratedMethodAccessor144.invoke(Unknown Source) 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 java.lang.reflect.Method.invoke(Method.java:585) 
org.jboss.seam.util.Reflections.invoke(Reflections.java:18) 
org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:169) 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:64)
 
org.jboss.seam.interceptors.ExceptionInterceptor.handleExceptions(ExceptionInterceptor.java:39)
 sun.reflect.GeneratedMethodAccessor143.invoke(Unknown Source) 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 java.lang.reflect.Method.invoke(Method.java:585) 
org.jboss.seam.util.Reflections.invoke(Reflections.java:18) 
org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:169) 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:64)
 
org.jboss.seam.intercept.RootInterceptor.createSeamInvocationContext(RootInterceptor.java:144)
 
org.jboss.seam.intercept.RootInterceptor.invokeInContexts(RootInterceptor.java:129)
 org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:102) 
org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:145)
 
org.jboss.seam.intercept.JavaBeanInterceptor.intercept(JavaBeanInterceptor.java:80)
 
org.nuxeo.ecm.webapp.security.GroupManagerActionsBean$$EnhancerByCGLIB$$4e830446.viewGroup()
 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 java.lang.reflect.Method.invoke(Method.java:585) 
com.sun.el.parser.AstValue.invoke(AstValue.java:151) 
com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:283) 
com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68) 
javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:77)
 
com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:91)
 javax.faces.component.UICommand.broadcast(UICommand.java:383) 
javax.faces.component.UIData.broadcast(UIData.java:854) 
org.ajax4jsf.framework.ajax.AjaxViewRoot.processEvents(AjaxViewRoot.java:180) 
org.ajax4jsf.framework.ajax.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:158) 
org.ajax4jsf.framework.ajax.AjaxViewRoot.processApplication(AjaxViewRoot.java:329)
 
com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
 com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251) 
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117) 
javax.faces.webapp.FacesServlet.service(FacesServlet.java:244) 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:100)
 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 org.jboss.seam.servlet.SeamRedirectFilter.doFilter(SeamRedirectFilter.java:32) 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 
org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._invokeDoFilter(TrinidadFilterImpl.java:209)
 
org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:166)
 
org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:139)
 
org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 
org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:96)
 org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:220) 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 
org.nuxeo.ecm.platform.ui.web.rest.FancyURLFilter.doFilter(FancyURLFilter.java:115)
 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 
org.nuxeo.ecm.platform.ui.web.auth.NuxeoAuthenticationFilter.doFilter(NuxeoAuthenticationFilter.java:414)
 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 
org.nuxeo.ecm.platform.ui.web.shield.NuxeoExceptionFilter.doFilter(NuxeoExceptionFilter.java:104)
 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 
org.jboss.seam.servlet.SeamExceptionFilter.doFilter(SeamExceptionFilter.java:46)
 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
 
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
 
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74) 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) 
org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) 
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
 
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
 
org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
 java.lang.Thread.run(Thread.java:595)+ 

6) If I click back, then try searching on the groups for * (as I did in Users 
to get a list of all users), I get the following error:

+HTTP Status 404 - 
/nuxeo/nxdoc/default/67c235ba-e6f9-4f93-badf-ce298b86b75b/view_groups+

+--------------------------------------------------------------------------------+

+type Status report+

+message /nuxeo/nxdoc/default/67c235ba-e6f9-4f93-badf-ce298b86b75b/view_groups+

+description The requested resource 
(/nuxeo/nxdoc/default/67c235ba-e6f9-4f93-badf-ce298b86b75b/view_groups) is not 
available.+


+--------------------------------------------------------------------------------+

+Apache Tomcat/5.5.20+

7) Now, if I click back and try to reproduce the Domain Admins group search, I 
get the same Tomcat error and NOT the Nuxeo error I got before...weird.  Even 
if I go back another page, then come back and just click on the "Groups" tab 
under member management, I get the same Tomcat error (without even reaching the 
group search page). This error will continue until I log out and log back in, 
at which point it will let me back in to the group search page.


*CURRENT XML CONFIGURATION WITH MOST RECENT CHANGES INCLUDED:*

*default-ldap-groups-directory-bundle.xml:*
+<?xml version="1.0"?>+

+<component name="org.nuxeo.ecm.directory.ldap.storage.groups">+
  +<implementation+
    +class="org.nuxeo.ecm.directory.ldap.LDAPDirectoryDescriptor" />+
  +<implementation+
    +class="org.nuxeo.ecm.directory.ldap.LDAPServerDescriptor" />+
  +<require>org.nuxeo.ecm.directory.ldap.LDAPDirectoryFactory</require>+

  +<!-- the groups LDAP directory for users is required to make this bundle 
work -->+
  +<require>org.nuxeo.ecm.directory.ldap.storage.users</require>+

  +<extension target="org.nuxeo.ecm.directory.ldap.LDAPDirectoryFactory"+
    +point="directories">+

    +<directory name="groupDirectory">+

      +<!-- Reuse the default server configuration defined for userDirectory 
-->+
      +<server>default</server>+

      +<schema>group</schema>+
      +<idField>sAMAccountName</idField>+

      +<searchBaseDn>dc=esperion,dc=com</searchBaseDn>+
      +<searchFilter>(objectClass=group)</searchFilter>+
      +<searchScope>subtree</searchScope>+
      +<readOnly>false</readOnly>+

      +<!-- comment <cache* /> tags to disable the cache -->+
      +<!-- cache timeout in seconds -->+
      +<cacheTimeout>3600</cacheTimeout>+

      +<!-- maximum number of cached entries before global invalidation -->+
      +<cacheMaxSize>1000</cacheMaxSize>+

      +<creationBaseDn>cn=Users,dc=esperion,dc=com</creationBaseDn>+
      +<creationClass>top</creationClass>+
      +<creationClass>group</creationClass>+

      +<rdnAttribute>sAMAccountName</rdnAttribute>+
      +<fieldMapping name="groupname">sAMAccountName</fieldMapping>+

      +<references>+

+<ldapReference directory="userDirectory" field="groups" 
forceDnConsistencyCheck="false" staticAttributeId="member" />+
+<ldapReference directory="groupDirectory" field="subGroups" 
forceDnConsistencyCheck="false" staticAttributeId="member" />+
+<inverseReference directory="groupDirectory" dualReferenceField="subGroups" 
field="parentGroups" />+

      +</references>+

    +</directory>+

  +</extension>+

+</component>+

*default-ldap-users-directory-bundle.xml*
+<?xml version="1.0"?>+

+<component name="org.nuxeo.ecm.directory.ldap.storage.users">+
  +<implementation class="org.nuxeo.ecm.directory.ldap.LDAPDirectoryDescriptor" 
/>+
  +<implementation class="org.nuxeo.ecm.directory.ldap.LDAPServerDescriptor" />+
  +<require>org.nuxeo.ecm.directory.ldap.LDAPDirectoryFactory</require>+

  +<!-- the groups SQL directories are required to make this bundle work -->+
  +<require>org.nuxeo.ecm.directory.sql.storage</require>+

  +<extension target="org.nuxeo.ecm.directory.ldap.LDAPDirectoryFactory"+
    +point="servers">+

    +<!-- Configuration of a server connection+

      +A single server declaration can point to a cluster of replicated+
      +servers (using OpenLDAP's slapd + sluprd for instance). To leverage+
      +such a cluster and improve availibility, please provide one+
      +<ldapUrl/> tag for each replica of the cluster.+
    +-->+
    +<server name="default">+

      +<ldapUrl>ldap://172.16.10.10:3268</ldapUrl>+
      +<!-- Optional servers from the same cluster for failover+
        +and load balancing:+

        +<ldapUrl>ldap://server2:389</ldapUrl>+
        +<ldapUrl>ldaps://server3:389</ldapUrl>+

        +"ldaps" means TLS/SSL connection.+
      +-->+

      +<!-- Credentials used by Nuxeo5 to browse the directory, create+
        +and modify entries.+

        +Only the authentication of users (bind) use the credentials entered+
        +through the login form if any.+
      +-->+
      +<bindDn>cn=adbind,cn=Users,dc=esperion,dc=com</bindDn>+
      +<bindPassword>4db1nd.</bindPassword>+
    +</server>+

  +</extension>+

  +<extension target="org.nuxeo.ecm.directory.ldap.LDAPDirectoryFactory"+
    +point="directories">+

    +<directory name="userDirectory">+
      +<server>default</server>+
      +<schema>user</schema>+
      +<idField>sAMAccountName</idField>+
      +<passwordField>password</passwordField>+

      +<searchBaseDn>dc=esperion,dc=com</searchBaseDn>+
      +<searchClass>person</searchClass>+
      +<!-- To additionally restricte entries you can add an+
        +arbitrary search filter such as the following:+

        
+<searchFilter>(&amp;(sn=toto*)(myCustomAttribute=somevalue))</searchFilter>+

        +Beware that "&" writes "&amp;" in XML.+
      +-->+
+        
<searchFilter>(&amp;(&amp;(&amp;(objectClass=organizationalPerson)(!(objectClass=computer)))(sn=*))(!(userAccountControl:1.2.840.113556.1.4.803:=2)))</searchFilter>+
      +<!-- use subtree if the people branch is nested -->+
      +<searchScope>subtree</searchScope>+

      +<!-- using 'subany', search will match *toto*. use 'subfinal' to+
        +match *toto and 'subinitial' to match toto*. subinitial is the+
        +default  behaviour-->+
      +<substringMatchType>subany</substringMatchType>+

      +<readOnly>false</readOnly>+

      +<!-- comment <cache* /> tags to disable the cache -->+
      +<!-- cache timeout in seconds -->+
      +<cacheTimeout>3600</cacheTimeout>+

      +<!-- maximum number of cached entries before global invalidation -->+
      +<cacheMaxSize>1000</cacheMaxSize>+

      +<creationBaseDn>ou=Users,dc=esperion,dc=com</creationBaseDn>+
      +<creationClass>top</creationClass>+
      +<creationClass>person</creationClass>+
      +<creationClass>organizationalPerson</creationClass>+
      +<creationClass>user</creationClass>+

      +<rdnAttribute>sAMAccountName</rdnAttribute>+
      +<fieldMapping name="username">sAMAccountName</fieldMapping>+
      +<fieldMapping name="password">password</fieldMapping>+
      +<fieldMapping name="firstName">givenName</fieldMapping>+
      +<fieldMapping name="lastName">sn</fieldMapping>+
      +<fieldMapping name="company">o</fieldMapping>+
      +<fieldMapping name="email">mail</fieldMapping>+

      +<references>+

        +<!-- <inverseReference field="groups" directory="groupDirectory"+
          +dualReferenceField="members" /> -->+
+               <ldapReference directory="userDirectory" field="groups" 
forceDnConsistencyCheck="false" staticAttributeId="memberof" />+
+               +
      +</references>+

    +</directory>+

  +</extension>+

+</component>+
_______________________________________________
ECM mailing list
[email protected]
http://lists.nuxeo.com/mailman/listinfo/ecm

Reply via email to