/*** @Description:
*
* @Title: LdAPTest.java
* @Package com.joyce.itext.main
* @Copyright: Copyright (c) 2014
*
*@authorComsys-LZP
* @date 2014-8-7 上午10:20:22
*@versionV2.0*/
packagecom.joyce.itext.main;importjava.util.Properties;importjavax.naming.Context;importjavax.naming.NamingEnumeration;importjavax.naming.NamingException;importjavax.naming.directory.SearchControls;importjavax.naming.directory.SearchResult;importjavax.naming.ldap.InitialLdapContext;importjavax.naming.ldap.LdapContext;/*** @Description:拉取AD域账户*/
public classLdAPTest {public static voidmain(String[] args) {
Properties env= newProperties();
String adminName= "administrator@2003.com";//username@domain
String adminPassword = "admin";//password
String ldapURL = "LDAP://10.10.2.153:389";//ip:port
env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.SECURITY_AUTHENTICATION,"simple");//"none","simple","strong"
env.put(Context.SECURITY_PRINCIPAL, adminName);
env.put(Context.SECURITY_CREDENTIALS, adminPassword);
env.put(Context.PROVIDER_URL, ldapURL);try{
LdapContext ctx= new InitialLdapContext(env, null);
SearchControls searchCtls= newSearchControls();
searchCtls.setSearchScope(SearchControls.SUBTREE_SCOPE);
String searchFilter= "(&(objectCategory=person)(objectClass=user)(name=*))";
String searchBase= "DC=2003,DC=com";
String returnedAtts[]= {"memberOf"};
searchCtls.setReturningAttributes(returnedAtts);
NamingEnumeration answer =ctx.search(searchBase, searchFilter,searchCtls);while(answer.hasMoreElements()) {
SearchResult sr=(SearchResult) answer.next();
System.out.println("<<<:: sr.getname>>>>");
}
ctx.close();
}catch(NamingException e) {
e.printStackTrace();
System.err.println("Problem searching directory: " +e);
}
}
}