...
| Bloc de code | ||
|---|---|---|
| ||
<bean id="groupService" class="org.esupportail.sgc.services.ldap.LdapGroupService">
<property name="ldapTemplate" ref="ldapTemplate"/>
<property name="groupSearchBase" value="ou=groups" />
<property name="groupSearchFilter" value="member={0}"/>
<property name="memberSearchBase" value="ou=people"/>
<property name="memberSearchFilter" value="memberOf={0}"/>
</bean> |
Cette configuration données ci-dessus présuppose que les membres d'un groupe soient référencés dans le groupe mais aussi que les groupes d'un utilisateur soient référencés dans l'entrée ldap de l'utilisateur ; pour ce deuxième point cela se fait usuellement via l'overlay memberOf dans openldap.
Plutôt que d'utiliser cette possibilité de memberOf, esup-sgc peut se baser uniquement sur les groupes, pour ce faire il doit alors pouvoir retrouver l'eppn de chaque utilisateur par construction depuis les attributs de membre des groupes (qui correspondent aux dn des utilisateurs pour les groupOfNames) ; cette implémentation est normalement plus efficace que l'usage de l'overlay memberOf.
Voici un exemple d'une telle configuration:
| Bloc de code | ||
|---|---|---|
| ||
<bean id="groupService" class="org.esupportail.sgc.services.ldap.LdapGroupBaseService">
<property name="ldapTemplate" ref="ldapTemplate"/>
<property name="groupSearchBase" value="ou=groups" />
<property name="groupSearchFilter" value="member={0}"/>
<property name="memberSearchFilter" value="dn={0}"/>
<property name="memberAttr" value="member"/>
<property name="memberAttr2EppnRegexp" value="uid=(.*),ou=people,dc=univ-ville,dc=fr"/>
<property name="memberAttr2EppnRegexpValue" value="$1@univ-ville.fr"/>
<property name="groupName2BaseRegexp" value="(.*),dc=univ-ville,dc=fr"/>
<property name="groupName2BaseRegexpValue" value="$1"/>
</bean> |
Il Mais il est possible également de calculer ces groupes via des filtres ldap :
...