import javax.naming.Context;
import javax.naming.NamingEnumeration;
import javax.naming.directory.Attributes;
import javax.naming.directory.InitialDirContext;
import javax.naming.directory.SearchControls;
import javax.naming.directory.SearchResult;
public class Test {
public void queryFromSunLDAP() throws Exception {
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.REFERRAL, "follow");
env.put(Context.PROVIDER_URL,"ldap://127.0.0.1:389/ou=services,dc=zu,dc=edu,dc=cn");
env.put(Context.SECURITY_PROTOCOL, "plain");
env.put("java.naming.ldap.version", "3");
env.put(Context.SECURITY_AUTHENTICATION, "simple");
env.put(Context.SECURITY_PRINCIPAL, "cn=directory manager");
env.put(Context.SECURITY_CREDENTIALS, "admin123");
env.put("com.sun.jndi.ldap.connect.pool", "true");
InitialDirContext ctx = new InitialDirContext(env);
NamingEnumeration answer = null;
try {
SearchControls ctls = new SearchControls();
ctls.setSearchScope(SearchControls.SUBTREE_SCOPE);
String filter = "(ou=*)";
answer = ctx.search("", filter, ctls);
SearchResult sr = null;
String name;
while (answer != null && answer.hasMore()) {
sr = (SearchResult) answer.next();
name = sr.getName();
}
answer.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
ctx.close();
}
}
}
java连接SunLDAP实例
最新推荐文章于 2021-02-24 04:17:57 发布