package net.tianyu.sample;
import java.util.Hashtable;
import javax.naming.Context;
import javax.naming.NamingEnumeration;
import javax.naming.NamingException;
import javax.naming.directory.DirContext;
import javax.naming.directory.InitialDirContext;
import javax.naming.directory.SearchControls;
import javax.naming.directory.SearchResult;
public class LdapConnect {
@SuppressWarnings("unchecked")
public static void main(String[] args) {
// InitialDirContextの作成
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, "ldap://localhost:10389");
env.put(DirContext.SECURITY_PRINCIPAL, "uid=admin,ou=system");
env.put(DirContext.SECURITY_CREDENTIALS, "secret");
try {
DirContext ctx = new InitialDirContext(env);
SearchControls constraints = new SearchControls();
constraints.setSearchScope(SearchControls.SUBTREE_SCOPE);
NamingEnumeration results = ctx.search("ou=system", "uid=admin", constraints);
if (results == null) {
System.out.println(" No Search Result.");
return;
}
while (results.hasMoreElements()) {
SearchResult aResult = (SearchResult) results.nextElement();
}
} catch (NamingException ex) {
System.err.println("Fail to Search\n");
ex.printStackTrace();
}
}
}