Remarquetip | ||||
---|---|---|---|---|
| A revoir
| |||
Sommaire :
Sommaire | ||
---|---|---|
|
...
La propriété searchDisplayedAttributes donne les noms des attributs qui seront affichés à l'utilisateur lors du choix d'un utilisateur parmi plusieurs (après une recherche dans l'annuaire). Par exemple :
La propriété otherAttributes donne les noms des attributs qui seront remontés lors des requêtes LDAP, pour être utilisés dans du code Java.
La propriété testFilter est utilisée par la tâche ant test-ldap pourra être utilisée dans les classes de test JUnit.
Cette classe s'appuie sur la bibliothèque LdapTemplate org.springframework.ldap.core.LdapTemplate:
Bloc de code |
---|
<bean id="ldapTemplate" class="netorg.springframework.sfldap.ldaptemplatecore.LdapTemplate" lazy-init="true" > <property name="contextSource" ref="contextSource" /> </bean> <bean idid="contextSource" class="netorg.esupportail.sfcommons.ldaptemplateservices.support.LdapContextSource"> ldap.MultiUrlLdapContextSource" lazy-init="true" > <property name="url" value="ldap://ldap.esup-portail.org:389" ${ldap.url}"/> <property name="userNameuserDn" value="" ${ldap.userDn}"/> <property name="password" value="${ldap.password}" /> <property name="base" value="ou=people,dc=esup-portail,dc=org${ldap.base}"/> <property name="baseEnvironmentProperties"> <map> <map> <entry key="com.sun.jndi.ldap.connect.timeout" value="5000 value="${ldap.connectTimeout}" /> </map> </property> </bean> |
Mise en cache des requêtes LDAP
...
Bloc de code |
---|
<bean id="ldapUserService" class="[...].commons.services.ldap.SearchableLdapUserServiceImpl" > ... <property name="cacheManager" ref="cacheManager" /> <property name="cacheName" value="cacheManager" ref="cacheManager" /> <property name="cacheName" value="" /> </bean> |
...
"" />
</bean>
|
Le bean cacheManager est en général défini dans le fichier de configuration /properties/cache/cache.xml et notamment /properties/cache/ehcache.xml Le nom du cache est optionnel.
Bloc de code |
---|
<cache
name="org.esupportail.commons.services.ldap.CachingLdapServiceImpl"
maxElementsInMemory="1000"
eternal="false"
timeToIdleSeconds="300"
timeToLiveSeconds="600"
overflowToDisk="true"
/>
|
Accès aux statistiques LDAP
...
- LdapConnectionException, lorsque l'annuaire LDAP est inaccessible,
- LdapBadFilterException, lorsqu'un mauvais filtre est utilisé,
- LdapMiscException, pour toute autre erreur.
Il appartient au programmeur d'attraper ou non ces exceptions en fonction du contexte de l'application.
Recherche d'un utilisateur par son identifiant
...
L'utilisateur doit alors pouvoir sélectionner un des utilisateurs (en cliquant dessus) et revenir sur la page administratorAdd.jsp, en remplissant sa boite de dialogue.Toute cette cinématique est disponible de base dans esup-commons, nous allons détailler cet exemple pour bien comprendre son fonctionnement.
Page appelante
Le contrôleur administratorsControler, chargé de toutes les interactions avec l'utilisateur pour la partie « administration » de l'application, implémente l'interface LdapCaller. Il possède donc une méthode setLdapUid() qui pourra être appelée par le contrôleur de la recherche LDAP en cas de succès. Cela remplira d'ailleurs automatiquement la boîte de dialogue de administratorAdd.jsp puisque celle-ci est liée à la propriété ldapUid du contrôleur administratorsControler :
...