Mega Code Archive

 
Categories / Java / JNDI LDAP
 

Searching the Directory by Using a Search Filter

import java.util.Hashtable; import javax.naming.Context; import javax.naming.NamingEnumeration; import javax.naming.directory.DirContext; import javax.naming.directory.InitialDirContext; import javax.naming.directory.SearchControls; import javax.naming.directory.SearchResult; public class Main {   public static void main(String[] argv) throws Exception {     String[] attrIDs = { "sn", "number", "value", "mail" };     SearchControls ctls = new SearchControls();     ctls.setReturningAttributes(attrIDs);     String filter = "(&(sn=YourName)(mail=*))";     Hashtable<String, String> env = new Hashtable<String, String>();     env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");     env.put(Context.PROVIDER_URL, "yourURL");     DirContext ctx = new InitialDirContext(env);     NamingEnumeration e = ctx.search("ou=People", filter, ctls);     while (e.hasMore()) {       SearchResult entry = (SearchResult) e.next();       System.out.println(entry.getName());     }   } }