...
Les groupes sont des groupes exportés par grouper. Le cn est donc de la forme : folder1:folder2:nom. Par exemple : cn = admin:appli:appli1
Les groupes ont pour objectClass eduMember. Les membres des groupes sont connus via l'attribut member.
...
Au sein d'une entrée de personnes, on connait les groupes dont il la personne est membre en interrogeant l'attribut isMemberOf. Le isMemberOf contient le cn du groupe.
...
Remarque : Par défaut grouper renseigne isMemberOf alors que l'overlay "memberOf" d'OpenLDAP utilise memberOf. Dans ce cas, l'entrée de personne contiendra le dn du groupe au lieu du cn.
...
| Bloc de code |
|---|
<!--
| This bean is the ContextSource instance that will be used to connect to LDAP.
+-->
<bean id="ldapContext" class="org.springframework.ldap.core.support.LdapContextSource">
<property name="url" value="ldap://ldapserveur:389"/>
<property name="userDn" value="uid=root,dc=example,dc=org"/>
<property name="password" value="XXX"/>
</bean>
<!--
| BaseDn that will be passed to the search (not to the context).
|
| WARNING: If you get an error like this...
| ...PartialResultException: [LDAP: error code 10...
| it probably means your baseDn isn't correct!
+-->
<bean id="baseDn" class="java.lang.String">
<constructor-arg><value>ou=groups,dc=example,dc=org</value></constructor-arg>
</bean>
<!--
| ESUP Parameter.
| This parameter is used to extract the id path of the groups
| form their dn. The id path is expected to be catched from the first group
| of the regex.
-->
<bean id="childGroupKeyRegex" class="java.lang.String">
<constructor-arg><value>cn=(.*),ou=groups,dc=example,dc=org</value></constructor-arg>
</bean>
<bean id="keyIndexMatchingGroup" class="java.lang.Integer">
<constructor-arg><value>1</value></constructor-arg>
</bean>
<!--
| LDAP query string that will be passed to the search.
+-->
<bean id="filter" class="java.lang.String">
<constructor-arg><value>(objectClass=eduMember)</value></constructor-arg>
</bean>
<!--
| This bean identifies the name of the Person Attribute that
| lists the SmartLdap groups each person is a member of.
+-->
<bean id="memberOfAttributeName" class="java.lang.String">
<constructor-arg><value>isMemberOf</value></constructor-arg>
</bean>
<!--
| This bean identifies the org.springframework.ldap.core.AttributesMapper
| implementation used in reading the groups records from LDAP.
+-->
<bean id="attributesMapper" class="org.jasig.portal.groups.smartldap.SimpleAttributesMapper">
<!--
| Name of the group attribute that tells you its key.
+-->
<property name="keyAttributeName">
<value>cn</value>
</property>
<!--
| Name of the group attribute that tells you its name.
+-->
<property name="groupNameAttributeName">
<value>cn</value>
</property>
<!--
| Name of the group attribute that lists its members.
+-->
<property name="membershipAttributeName">
<value>member</value>
</property>
</bean> |
Les attributs keyAttributeName et groupNameAttributeName permettent d'indiquer au groupStore les attributs qui serviront respectivement de clé et de nom pour le groupe.
- Ajouter les groupes smartLDAP à votre arboresence des groupes. Par exemple, vous pouvez modifier le fichier Everyone.group-membership.xml comme suit :
...
- Il est possible de cibler un groupe spécifique simplement en le nommantdésignant par son nom (et non par la clé). Par exemple :
| Bloc de code |
|---|
<group>admin:appli:appli1</group> |
...