LDAP : impossible de voir les groupes

Bonjour,

Je viens de configurer les directories nécessaires pour accéder à notre annuaire LDAP à partir de nuxeo. En suivant la documentation, j'ai configuré les deux fichiers suivants (fournis ci-dessous) :

$NUXEO_HOME/nuxeo_custom/config/default-ldap-users-directory-bundle.xml
$NUXEO_HOME/nuxeo_custom/config/default-ldap-groups-directory-bundle.xml

L'authentification des utilisateurs LDAP fonctionne. L'utilisateur “adminnuxeo” déclaré dans LDAP fonctionne bien en tant qu'administrateur. La recherche d'utilisateurs à partir de Nuxeo fonctionne et suis bien les mode subinitial, subfinal ou subany selon la configuration déclarée. Par contre les groupes LDAP restent totalement invisibles de Nuxeo. Une recherche de groupes ne renvoie que la liste des groupes SQL. Les groupes LDAP sont des groupes statiques.(ObjectClass: groupOfNames, supannGroupe, top - Attributs : cn, member, description)

J'ai beau tourner mes fichiers de configuration dans tous les sens, rien n'y fait :-[

Quelqu'un aurait-il une idée de l'erreur que je commets ?

D'avance merci pour votre aide,

Patrice

-------------------------------------------------
$ cat default-ldap-users-directory-bundle.xml
<?xml version="1.0"?>
<component name="org.masociete.ecm.directory.ldap.storage.users">

  <require>org.nuxeo.ecm.directory.ldap.LDAPDirectoryFactory</require>
  <require>org.nuxeo.ecm.directory.sql.storage</require>

  <extension target="org.nuxeo.ecm.directory.ldap.LDAPDirectoryFactory" point="servers">
    <server name="default">
      <ldapUrl>ldaps://monserveur1:636</ldapUrl>
      <ldapUrl>ldaps://monserveur2:636</ldapUrl>
      <bindDn>cn=???,ou=???,dc=???,dc=fr</bindDn>
      <bindPassword>???</bindPassword>
    </server>
 </extension>

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

    <directory name="userLdapDirectory">
     <server>default</server>
     <schema>user</schema>
      <idField>username</idField>
      <passwordField>password</passwordField>
      <searchBaseDn>ou=???,dc=???,dc=fr</searchBaseDn>
      <searchClass>person</searchClass>
      <searchScope>onelevel</searchScope>
      <substringMatchType>subinitial</substringMatchType>
      <readOnly>true</readOnly>

      <cacheTimeout>3600</cacheTimeout>
      <cacheMaxSize>2000</cacheMaxSize>
      <querySizeLimit>2000</querySizeLimit>
      <queryTimeLimit>0</queryTimeLimit>
      <creationClass>top</creationClass>
      <creationClass>person</creationClass>
      <creationClass>organizationalPerson</creationClass>
      <creationClass>inetOrgPerson</creationClass>
      <rdnAttribute>uid</rdnAttribute> -->

      <fieldMapping name="username">uid</fieldMapping>
      <fieldMapping name="firstName">givenName</fieldMapping>
      <fieldMapping name="lastName">sn</fieldMapping>
      <fieldMapping name="company">supanneEntiteAffectationPrincipale</fieldMapping>
      <fieldMapping name="email">mail</fieldMapping>

      <references>
       <inverseReference field="groups" directory="groupLdapDirectory"  dualReferenceField="members" />
      </references>
    </directory>
  </extension>

  <extension target="org.nuxeo.ecm.platform.usermanager.UserService" point="userManager">
    <userManager>
        <defaultAdministratorId>???</defaultAdministratorId>
        <defaultGroup>members</defaultGroup>
    </userManager>
  </extension>
</component>

------------------------------------------------
$ cat default-ldap-groups-directory-bundle.xml
<?xml version="1.0"?>
<component name="org.masociete.ecm.directory.ldap.storage.groups">
  <require>org.nuxeo.ecm.directory.ldap.LDAPDirectoryFactory</require>
  <require>org.masociete.ecm.directory.ldap.storage.users</require>
  <extension target="org.nuxeo.ecm.directory.ldap.LDAPDirectoryFactory" point="directories">

   <directory name="groupLdapDirectory">

      <server>default</server>
      <schema>group</schema>
      <idField>groupname</idField>
      <searchBaseDn>ou=groups,dc=???,dc=fr</searchBaseDn>
      <searchFilter>(objectClass=groupOfNames)</searchFilter>
      <searchScope>subtree</searchScope>
      <readOnly>true</readOnly>
      <cacheTimeout>3600</cacheTimeout>
      <cacheMaxSize>1000</cacheMaxSize>
      <querySizeLimit>200</querySizeLimit>
      <queryTimeLimit>0</queryTimeLimit>
      <fieldMapping name="groupname">cn</fieldMapping>
      <fieldMapping name="description">description</fieldMapping>

      <references>
        <ldapReference field="members" directory="userLdapDirectory"
          forceDnConsistencyCheck="false"
         staticAttributeId="member"
         dynamicAttributeId="memberURL" />

        <ldapReference field="subGroups" directory="groupLdapDirectory"
          forceDnConsistencyCheck="false"
          staticAttributeId="member"
          dynamicAttributeId="memberURL" />
        <inverseReference field="parentGroups"
          directory="groupLdapDirectory" dualReferenceField="subGroups" />
      </references>
   </directory>
 </extension>
</component>
0 votes

2 answers

4386 views

ANSWER

Toujours embêter, ou c'est trop tard ?
05/07/2013



bonjour,

vous n'indiquez pas que ce sont vos directories qui doivent être utilisés pour récupérer les utilisateurs et les groupes, donc le système utilise ceux par défaut (userDirectory et groupDirectory)

Pour changer cela, ajoutez la contribution correspondant à ce fichier https://github.com/nuxeo/nuxeo-services/blob/master/nuxeo-platform-directory/nuxeo-platform-directory-ldap/examples/default-virtual-groups-bundle.xml

Cordialement Thierry

0 votes



Bonjour,

Non, ça ne fonctionne toujours pas. J'ai laissé cette affaire de côté pour l'instant, mais toute nouvelle piste serait la bienvenue.

Merci par avance,

Patrice

0 votes



Bonjour,

A priori, j'ai eu le mm soucis que j'ai "résolu" en ajoutant le fichier xml default-virtual-groups-bundle.xml en plus du fichier d'utilisateur et de groupe…

J'écris "résolu" car je ne sais pas si c'est de la bidouille ou pas … Je suis en train de réinstaller un nuxeo pour refaire des tests…

05/14/2013

Bon, il n'y a pas que ça… je viens de recommencer la config de mon nuxeo, j'ai donc utilisé les 3 fichiers xml présent ici : https://github.com/nuxeo/nuxeo-services/tree/master/nuxeo-platform-directory/nuxeo-platform-directory-ldap/examples

Et fait des modifications, par exemple dans ton fichier "default-ldap-groups-directory-bundle.xml" quand je mets &lt;searchFilter&gt;(objectClass=groupOfNames)&lt;/searchFilter&gt; cela ne me donne pas mes groupes, mais si je mets &lt;searchFilter&gt;(objectClass=*)&lt;/searchFilter&gt; là, je vois mes groupes dans Nuxeo. J'ai aussi changé le &lt;searchScope&gt;subtree&lt;/searchScope&gt; car mes groupes sont tous dans une même UO.

Par contre, j'ai mes groupes, mes utilisateurs, mais j'ai mes groupes vides…

05/14/2013