Recherche

Sommaire

Pages enfant
  • 5) Mauvaise requète LDAP pour les groupes

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.
Sommaire

Contexte

ldap-config.xml

Ajout dans nxserver/config de ce ldap-config.xml (le suffixe -config.xml est important pour que le fichier soit pris en compte) :

...


<component name="sample.ldap.config">

  <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>ldap://srv.univ.fr:389</ldapUrl>
    </server>
  </extension>

  <extension target="org.nuxeo.ecm.directory.ldap.LDAPDirectoryFactory"
    point="directories">
    <directory name="userDirectory">
      <server>default</server>
      <schema>user</schema>
      <idField>username</idField>
      <passwordField>password</passwordField>
      <searchBaseDn>ou=people,dc=univ,dc=fr</searchBaseDn>
      <searchClass>person</searchClass>
      <searchScope>onelevel</searchScope>
      <readOnly>true</readOnly>
      <cacheTimeout>3600</cacheTimeout>
      <cacheMaxSize>100000</cacheMaxSize>
      <creationBaseDn>ou=people,dc=univ,dc=fr</creationBaseDn>
      <creationClass>top</creationClass>
      <creationClass>person</creationClass>
      <creationClass>organizationalPerson</creationClass>
      <creationClass>inetOrgPerson</creationClass>
      <rdnAttribute>uid</rdnAttribute>
      <fieldMapping name="username">eduPersonPrincipalName</fieldMapping>
      <fieldMapping name="firstName">givenName</fieldMapping>
      <fieldMapping name="lastName">sn</fieldMapping>
      <fieldMapping name="company">supannetablissement</fieldMapping>
      <fieldMapping name="email">mail</fieldMapping>
      <references>
        <inverseReference field="groups" directory="groupDirectory"
          dualReferenceField="members" />
      </references>
    </directory>
  </extension>

  <extension target="org.nuxeo.ecm.directory.ldap.LDAPDirectoryFactory"
    point="directories">
    <directory name="groupDirectory">
      <server>default</server>
      <schema>group</schema>
      <idField>groupname</idField>
      <searchBaseDn>ou=groups,dc=univ,dc=fr</searchBaseDn>
      <searchFilter>(|(objectClass=groupOfNames)(objectClass=groupOfURLs))</searchFilter>
      <searchScope>subtree</searchScope>
      <readOnly>true</readOnly>
      <cacheTimeout>3600</cacheTimeout>
      <cacheMaxSize>10000</cacheMaxSize>
      <querySizeLimit>10000</querySizeLimit>
      <creationBaseDn>ou=groups,dc=univ,dc=fr</creationBaseDn>
      <creationClass>top</creationClass>
      <creationClass>groupOfUniqueNames</creationClass>
      <rdnAttribute>cn</rdnAttribute>
      <fieldMapping name="groupname">cn</fieldMapping>
      <references>
        <ldapReference field="members" directory="userDirectory"
          forceDnConsistencyCheck="false"
          staticAttributeId="member"
          dynamicAttributeId="memberURL" />
        <ldapReference field="subGroups" directory="groupDirectory"
          forceDnConsistencyCheck="false"
          staticAttributeId="uniqueMember"
          dynamicAttributeId="memberURL" />
        <inverseReference field="parentGroups"
          directory="groupDirectory" dualReferenceField="subGroups" />
      </references>
    </directory>
  </extension>

</component>
Remarque

<fieldMapping name="username">eduPersonPrincipalName</fieldMapping> doit être en phase avec la configuration de l'authentification Shib

La balise querySizeLimit doit avoir une valeur suffisamment grande (200 étant la valeur par défaut) et être supérieurs au nombre total de groupes contenus dans le LDAP. Si la valeur est trop faible les groupes LDAP ne seront jamais vus dans l'IHM Nuxeo de positionnement des droits.

Patch de  nuxeo-platform-shibboleth-groups-web-5.4.0.jar

Le nuxeo-platform-shibboleth-groups-web-5.4.0.jar livré par nuxeo est bugué. La requête faite au LDAP pour retrouver les groupes est de la forme cn=%*

...

Remarques

Mauvaise évaluation des groupes shib

Dans l'IHM de gestion des utilisateurs et des groupes je vois maintenant les groupes LDAP rattachés à un utilisateur mais j'ai aussi un groupe shib avec "currentUser.user.username == 'bourges@univ-rennes1.fr'" et je ne le vois pas dans les groupes du user 'bourges@univ-rennes1.fr'

Mauvais affichage des groupes LDAP

Au moment de positionner une ACL sur une ressource on voit l'arbo des groupes shib. Le CdC précise que l'on doit trouver une branche permettant de sélectionner les groupes LDAP en plus de la branche Shib qui est, elle, bien affichée.

Plus possible de modifier les groupes Shib

Une fois que LDAP est branché on ne peut plus modifier et/ou ajouter des groupes Shib dans l'IHM de gestion des utilisateurs et des groupes.

...