LDAP Search : Search « JNDI LDAP « Java






LDAP Search

 
import java.util.Hashtable;

import javax.naming.Context;
import javax.naming.NamingEnumeration;
import javax.naming.directory.Attribute;
import javax.naming.directory.Attributes;
import javax.naming.directory.DirContext;
import javax.naming.directory.InitialDirContext;
import javax.naming.directory.SearchControls;
import javax.naming.directory.SearchResult;

public class LdapSearch {
  public static void main(String[] args) throws Exception {
    Hashtable env = new Hashtable();

    String sp = "com.sun.jndi.ldap.LdapCtxFactory";
    env.put(Context.INITIAL_CONTEXT_FACTORY, sp);

    String ldapUrl = "ldap://localhost:389/dc=yourName, dc=com";
    env.put(Context.PROVIDER_URL, ldapUrl);

    DirContext dctx = new InitialDirContext(env);

    String base = "ou=People";

    SearchControls sc = new SearchControls();
    String[] attributeFilter = { "cn", "mail" };
    sc.setReturningAttributes(attributeFilter);
    sc.setSearchScope(SearchControls.SUBTREE_SCOPE);

    String filter = "(&(sn=W*)(l=Criteria*))";

    NamingEnumeration results = dctx.search(base, filter, sc);
    while (results.hasMore()) {
      SearchResult sr = (SearchResult) results.next();
      Attributes attrs = sr.getAttributes();

      Attribute attr = attrs.get("cn");
      System.out.print(attr.get() + ": ");
      attr = attrs.get("mail");
      System.out.println(attr.get());
    }
    dctx.close();
  }
}

 








Related examples in the same category

1.how to do the equivalent of an LDAP "compare"
2.how to search the directory that ignores referrals returned by the server
3.how a paged search can be performed using the PagedResultsControl API
4.how sorted search results can be obtained using SortControl API
5.how to perform a search and limit the number of results returned
6.how to perform a search by specifying a search filter and search controls to search an object
7.how to perform a search by specifying a search filter and search controls to search a subtree
8.how to perform a search and limit the time that the search takes
9.how to perform a search by specifying a search filter and search controls
10.how to perform a search by specifying a search filter, objects to fill in filter, andsearch controls
11.how to perform a search by specifying a search filter and default search controls