2010-06-07 1 views
1

I la liste des utilisateurs de LDAP avec le code suivant:SearchResult en Java

Hashtable<String, String> env = new Hashtable<String, String>(); 
    env.put(Context.INITIAL_CONTEXT_FACTORY, CONTEXT); 
    env.put(Context.PROVIDER_URL, HOST); 
    env.put(Context.SECURITY_PRINCIPAL,USER); 
    env.put(Context.SECURITY_CREDENTIALS,PASSWORD); 


    DirContext ctx = new InitialDirContext(env); 

    SearchControls sc = new SearchControls(); 
    sc.setSearchScope(SearchControls.SUBTREE_SCOPE); 

    NamingEnumeration items = ctx.search(BASE, filter, sc); 
    while (items != null && items.hasMore()) { 
     SearchResult sr = (SearchResult)items.next(); 
     System.out.println("SR : " + sr) ; 
    } 

Maintenant, je reçois une sortie;

SR : cn=smith: null:null:{objectclass=objectClass: person, sn=sn: smith, cn=cn: smith} 
SR : cn=king: null:null:{objectclass=objectClass: person, sn=sn: king, cn=cn: king} 

Comment puis-je obtenir de SearchControls juste la sortie comme:

sn = smith | cn = smith 
sn = king | cn = king 

Répondre

2

Ne serait-un simple changement dans votre sysout comme ci-dessous suffisent?

Ou, suis-je en train de lire quelque chose de mal ici?

+0

qui est exactement ce que je avais besoin, je vous remercie @VJ – Adnan

0

Vous pouvez essayer correspondant à la chaîne de SR à une paire d'expressions régulières pour obtenir la valeur de sn et cn:

sn=sn: ([^,]),

cn=cn: ([^,]),