Bonjour,

Je reprend une appli qui se connecte à un annuaire LDAP pour récupérer des informations et alimenter une base de données.

Etant débutante sur LDAP, j'ai un peu de mal à trouver une solution à mon problème qui est : récupétration d'une info qui semble se trouver dans l'objectclass dominoPerson.

voici le code actuel :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
...
Attributes matchAttrs = new BasicAttributes(true);
// Recherche des utilisateurs
NamingEnumeration answer = ctx.search("o=UO1", matchAttrs);

Hashtable listeUtilisateursLdap = new Hashtable();
			
while (answer.hasMore())
{
             SearchResult sr = (SearchResult) answer.next();
	Attributes atributes = sr.getAttributes();

	UtilisateurDO utilisateur = new UtilisateurDO();
	String username = (String) atributes.get("cn").get();
	utilisateur.setUsername(username);
	String commonname = (atributes.get("uid")==null)?null:(String) atributes.get("uid").get();
	utilisateur.setCommonname(commonname);
	String prenom = (atributes.get("givenname")==null)?null:(String) atributes.get("givenname").get();
	utilisateur.setPrenom(prenom);
	String nom = (atributes.get("sn")==null)?null:(String) atributes.get("sn").get();
	utilisateur.setNom(nom);
			
				 
	// Ajout du matricule
	String matricule = (atributes.get("matricule")==null)?null:(String) atributes.get("matricule").get();
             utilisateur.setMatricule(matricule);
Il s'agit de la donnée matricule que je n'arrive pas à récupérer car elle se trouve dans l'objectclass dominoPerson. Les autres informations(nom, prénom, commonname) se trouvent dans le noeud racine UO1.

J'ai trouvé quelque part sur ce forum l'utilisation de serchControls et d'une recherche avec SUBTREE_SCOPE (http://www.developpez.net/forums/sho...ight=LDAP+java)

Est-ce la bonne piste ?

Je ne peux pas tester ce code de là où je suis, c'est pour cela que je pose la question

Merci d'avance