john pfeiffer
  • Home
  • Categories
  • Tags
  • Archives

LdapSearch initialdircontext

//2012-05-15 johnpfeiffer

import java.util.Hashtable;
import javax.naming.Context;
import javax.naming.NameNotFoundException;
import javax.naming.NamingEnumeration;
import javax.naming.NamingException;
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 <String , String> env = new Hashtable <String , String> ();
    NamingEnumeration <SearchResult> results = null;
    DirContext dctx = null;
    try {
        env.put( Context.INITIAL_CONTEXT_FACTORY , "com.sun.jndi.ldap.LdapCtxFactory" );
        env.put( Context.SECURITY_AUTHENTICATION , "simple" );
        env.put( Context.SECURITY_PRINCIPAL , "uid=example,ou=system");
        env.put(Context.SECURITY_CREDENTIALS, "Sandbox7");

        String ldapUrl = "ldap://10.10.10.228:389";
        env.put( Context.PROVIDER_URL, ldapUrl );
        dctx = new InitialDirContext( env );
        String base = "ou=system";
        SearchControls searchcontrols = new SearchControls();       // tree limit, count limit, time limit, attribs to return
        searchcontrols.setSearchScope( SearchControls.SUBTREE_SCOPE );
        String[] attributeFilter = { "uid" };
        searchcontrols.setReturningAttributes( attributeFilter );
        String searchFilter = "(uid=example)";

        results = dctx.search( base , searchFilter , searchcontrols );
        while( results.hasMore() )
        {
            SearchResult sr = results.next();
            Attributes attrs = sr.getAttributes();
            Attribute attr = attrs.get( "uid" );
            System.out.println( attr.get() );
        }

      }catch( NameNotFoundException e )
      {     System.err.println( e.getMessage() );
      }catch( NamingException e )
      {   throw new RuntimeException(e);
      // AuthenticationException, AuthenticationNotSupportedException
      }finally
      {
        if( results != null )
        {   try {   results.close();    } catch (Exception e) { }
        }
        if( dctx != null )
        {   try {   dctx.close();   } catch (Exception e) { }
        }
      }
  }

} //end class

  • « Report StorageGatewayDAO
  • hashMap missing k numbers from sequence »

Published

May 15, 2012

Category

java-classes

~148 words

Tags

  • classes 92
  • initialdircontext 1
  • java 252
  • ldapsearch 5