(ldap入门)连接&检索

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();
		}
	}
}

 

你可能感兴趣的:(.net,Security,sun)