Bonjour,
J'aimerais afficher le dn de l'utilisateur connecté en parcourant l'arborescence.
Est-ce que quelqu'un pourrait m'aider SVP?
Merci d'avance.
Bonjour,
J'aimerais afficher le dn de l'utilisateur connecté en parcourant l'arborescence.
Est-ce que quelqu'un pourrait m'aider SVP?
Merci d'avance.
Salut,
cela sera plus pratique. .....
bon moi personnellement je n'utilise pas JNDI mais la classe Novell (plus pratique)
1) La recherche ne dois pas posé de problème : Le scope SearchControls.SUBTREE_SCOPE permet une recherche sur l'annuaire.
2) Tu pose un filtre sur la clé d'unicité de ton user (exple: uid=TOTO)
3) la méthode getNameInNamespace(); devrait normalement te renvoyer le DN
Salut beegood.
Effectivement c'est plus pratique sur le forum.
Je vais essayer de reconstituer le dn d'après tes informations.
Par contre, j'ai un petit soucis avec mon enum. Peut-être que tu pourras m'aider...
Voilà ce que j'ai codé :
Le problème est que le paramètre de ma méthode getNumberScope est de type Scope et que ma variable qui se trouve dans mon fichier Properties est de type String.
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 public enum Scope { OBJECT_SCOPE, ONELEVEL_SCOPE, SUBTREE_SCOPE; } public int getNumberScope (Scope scope) { int value = 0; switch (scope) { case OBJECT_SCOPE: value = 0; break; case ONELEVEL_SCOPE: value = 1; break; case SUBTREE_SCOPE: value = 2; break; } return value; }
Y'a-t'il moyen de faire une conversion ?
Je t'ai donné la solution
Avec ce code jowo j'obtiens toujours la même erreur...
Je comprends bien qu'il réclame une } mais mon but de cet enum est qu'il prenne également les autres lignes en compte.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 .\src\ch\ldap\ClientLDAP.java:131: '}' expected OBJECT setSearchScope.OBJECT_SCOPE,
Pour être plus précise, lorsque je compile :
J'obtiens l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 public enum Scope { OBJECT setSearchScope.OBJECT_SCOPE, ONELEVEL setSearchScope.OBJECT_SCOPE, SUBTREE setSearchScope.SUBTREE_SCOPE }
Merci d'avance!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 \src\ch\ldap\ClientLDAP.java:131: '}' expected OBJECT setSearchScope.OBJECT_SCOPE,
essaie avec
si ça ne compile pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 public enum Scope { OBJECT 0, ONELEVEL 1, SUBTREE 2 }
essaie avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 public enum Scope { OBJECT, ONELEVEL, SUBTREE }
Pendant ce temps, je vais appendre à coder des enumes en Java.... [/code]
salut,
désolé j'ai du partir en réunion .....
as tu récupéré le DN ?
Pas de problème beegood.
Merci jowo pour tes infos. Le seul enum qui passe la compilation est celui-là :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 public enum Scope { OBJECT, ONELEVEL, SUBTREE }
Pas de problème beegood.
Je ne me suis pas encore occupée de ce dn.
J'ai un problème avec un enum que j'aimerais résoudre avant de chercher le dn.
Merci beaucoup de ton aide beegood. Ca fonctionne maintenant très bien.
code sans garantie:
Bon chance et surtout tiens bon
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 publisc enum Scope { OBJECT(setSearchScope.OBJECT_SCOPE), ONELEVEL(setSearchScope.OBJECT_SCOPE), SUBTREE(setSearchScope.SUBTREE_SCOPE); Scope(int scopeLevel) { this.scopeLevel = scopeLevel; } private final int scopeLevel; public int scopeLevel() { return scopeLevel; } /* Exemple d'usage */ String roleParam = "SUBTREE"; Scope role = Scole.valueOf(roleParam); searchCtls.setSearchScope (role.scopeLevel());
question, ne faut il pas être en java 1.5 pour utiliser le type enum ?
oui, beegood, il faut être en Java 1.5 pour utiliser enum.
Sauf ereur, sangei est en Java 1.5.
Oui oui je travaille bien avec Java 1.5
Petite question jowo. Tu viens de me fournir très aimablement un code et moi quand j'utilise celui là
Ca marche aussi.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 private enum Scope { OBJECT, ONELEVEL, SUBTREE } String roleParam = roleSubtree; Scope role = Scope.valueOf(roleParam); searchCtls.setSearchScope (role.ordinal());
Quelle solution est la meilleure ?
Si mon dernier code fonctionne, je l'utiliserai de préférence car il initialise correctement les valeurs de scope.
La première solution s'appuie sur la valeur "cardinale" (pas sûr du terme) de l'énumération (premier terme vaut 0, deuxième vaut 1, etc...).
Merci jowo. Je vais essayer ton nouveau code.
J'ai quelques petits soucis avec le getNameInNamespace()
J'ai mis en place le filtre, la base de recherche et le scope, mais après je ne sais pas trop comment faire pour retrouver mon dn...
Est-ce qu'une bonne âme pourrait m'aider SVP?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 public void getDn () throws ch.ldap.ClientLDAPException { try { SearchControls searchCtls = new SearchControls(); searchCtls.setSearchScope(SearchControls.SUBTREE_SCOPE); String searchBase = "dc=ecole, dc=ch"; String searchFilter = "(&(uid=dupont))"; NamingEnumeration answer = ctx.search (searchBase, searchFilter, searchCtls); String name = ctx.getNameInNamespace();
Merci d'avance.
Salut,
tu récuperes quoi au juste avec lString name = ctx.getNameInNamespace();
?
quel est ton soucis ?
Merci
Salut beegood,
Comment vas-tu?
En fait, je ne sais pas trop ce que je récupère avec String name = ctx.getNameInNamespace();
Mon soucis est que je ne sais pas trop comment utiliser cette méthode getNameInNamespace
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager