JNDI-LDAP - problème d'affichage de groupes
Bonjour,
J'ai écrit une méthode qui permet d'afficher la description et les groupes auxquels l'uid connecté appartient :
Code:
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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
public void printGroups (String roleBase, String roleSubtree, String roleSearch, String roleName, String uid, String dn)
throws ch.ldap.ClientLDAPException {
try {
// Créer le contrôle de recherche
SearchControls searchCtls = new SearchControls();
// Spécifier le search scope
int numberScope = getNumberScope (roleSubtree);
searchCtls.setSearchScope (numberScope);
// Spécifier la base de la recherche
String searchBase = roleBase;
// Spécifier le filtre de recherche LDAP
String searchFilter = roleSearch;
// Spécifier les attributs à retourner
String returnedAttrs[]=roleName.split(", ");
searchCtls.setReturningAttributes(returnedAttrs);
// Rechercher les objets utilisant le filtre
NamingEnumeration answer = ctx.search(searchBase, searchFilter, searchCtls);
// Parcourir et afficher les résultats de la recherche
while (answer.hasMoreElements()) {
SearchResult sr = (SearchResult)answer.next();
System.out.println (sr);
// Afficher les groupes
Attributes attrs = sr.getAttributes();
if (attrs != null) {
try {
NamingEnumeration ae = attrs.getAll();
while (ae.hasMore()) {
Attribute attr = (Attribute)ae.next();
System.out.println (attr.getID() + " : ");
NamingEnumeration e = attr.getAll();
while (e.hasMore()) {
System.out.println(" " + e.next());
}
}
}
catch (NamingException e) {
throw new ch.esnig.ldap.ClientLDAPException("Error : Listage des groupes! (printGroups)", e );
}
}
}
}
catch (javax.naming.NamingException ex) {
throw new ch.esnig.ldap.ClientLDAPException("Error : Recherche du directory! (printGroups)", ex );
}
} |
Les valeurs des paramètres de cette méthode sont :
Code:
1 2 3 4 5 6 7
|
dn=uid={0}, ou=personne, dc=ecole, dc=ch
roleBase=ou=groupeTomcat, dc=ecole, dc=ch
roleSubtree=SUBTREE_SCOPE
roleSearch=(&(objectClass=groupOfUniqueNames)(uniqueMember=uid={0}, ou=personne, dc=ecole, dc=ch))
roleName=cn, description |
Voici ce que ma méthode affiche :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
cn=manager: null:null:{description=description: Groupe Manager, cn=cn: manager}
description :
Groupe Manager
cn :
manager
cn=tomcat: null:null:{description=description: Groupe Tomcat, cn=cn: tomcat}
description :
Groupe Tomcat
cn :
tomcat
cn=webdav_rw: null:null:{cn=cn: webdav_rw}
cn :
webdav_rw
cn=wacasable-user: null:null:{cn=cn: wacasable-user}
cn :
wacasable-user |
Le problème est que je ne veux pas que ma méthode affiche les lignes qui ressemble à :
- cn=wacasable-user: null:null:{cn=cn: wacasable-user}
Mais je ne vois pas trop comment faire.
Est-ce que quelqu'un pourrait m'aider SVP ?
Merci d'avance.
PS : désolée pour la longueur du message!