import java.util.Hashtable;
import javax.naming.Context;
import javax.naming.NamingException;
import javax.naming.directory.DirContext;
import javax.naming.directory.InitialDirContext;
public class JLdapTest {
/**
* @param args
*/
public static void main(String[] args) {
DirContext ctx = null;
String account = "abc"; // 用户名
String password = "123"; // 登录密码
String root = "dc=sngcc,dc=com"; // 域控制器名称
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,
"com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, "ldap://192.168.107.2:389/" + root);// 域控制器地址
env.put(Context.SECURITY_AUTHENTICATION, "simple");
env.put(Context.SECURITY_PRINCIPAL, account + "@sngcc.com");
env.put(Context.SECURITY_CREDENTIALS, password);
try {
// 链接ldap
ctx = new InitialDirContext(env);
System.out.println("认证成功");
} catch (javax.naming.AuthenticationException e) {
System.out.println("认证失败");
} catch (Exception e) {
System.out.println("认证出错");
e.printStackTrace();
} finally {
// 关闭ldap,释放资源
if (ctx != null) {
try {
ctx.close();
} catch (NamingException e) {
System.out.println("关闭LDAP出错:");
e.printStackTrace();
}
}
}
}
}