Bonjour,
Dans la partie administration d'une application, je dois permettre de créer de nouveaux utilisateurs pour celle-ci. Lors de la création, je dois vérifier dans active directory que le user y existe bien (pas de check de password à ce niveau).
J'arrive à faire le check sur une des branches de l'AD lorsque je suis connectee avec le user que je dois authentifier, si j'essaie de faire une recherche sur un autre user, il ne me renvoie aucun objet. Hors la personne qui va ajouter un utilisateur ne connait pas son password.
Les utilisateurs pouvant se trouver à différents niveaux dans l'active directory, n'y a-t'il pas un moyen de faire la recherche à partir d'un noeud commun de l'arbre et de descendre toutes les branches?
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 DirContext ctx = null; try { ctx = new InitialDirContext(env); SearchControls ctls = new SearchControls(); ctls.setSearchScope(SearchControls.SUBTREE_SCOPE); String filter="(&(cn=j076791))"; NamingEnumeration answerSearch = ctx.search("CN=sousdomaine,DC=mondomaine", filter, ctls); while (answerSearch.hasMore()) { SearchResult sr = (SearchResult) answerSearch.next(); Attributes userAttr = sr.getAttributes(); Attribute userid = userAttr.get("CN"); System.out.println(userid); } ctx.close(); } catch (NamingException e) { System.out.println("Problem binding to " + domainControllerName + ": " + e); } finally { try { if (null != ctx) ctx.close(); } catch (NamingException e) {e.printStackTrace();} }
Idéalement, cette recherche devrait pouvoir se faire en login anonymous.
Partager