java连接SunLDAP实例
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();}}}
页:
[1]