Recherche
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>1000</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>1000</cacheMaxSize> <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>
<fieldMapping name="username">eduPersonPrincipalName</fieldMapping> doit être en phase avec la configuration de l'authentification 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'
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.
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.
Vérifier si ça ne vient pas du fait que l'on a <readOnly>true</readOnly> dans la conf LDAP et que ça aurait une répercussion sur la gestion de groupes Shib