public String checkLogin(String userName,String password) {
String host = "10.130.119.101"; // AD服务器IP
String port = "389"; // 端口
// String domain = "@domain.com.cn"; //邮箱的后缀名
String user="test001@zaucc.com";//这里有两种格式,domain\User或邮箱的后缀名,建议用domain\User这种格式
String url = new String("ldap://" + host + ":" + port);
//String user = userName.indexOf(domain) > 0 ? userName : userName + domain;
Hashtable env = new Hashtable();
DirContext ctx;
env.put(Context.SECURITY_AUTHENTICATION, "simple");//一种模式,不用管,就这么写就可以了
env.put(Context.SECURITY_PRINCIPAL,"CN=zaucc.com,OU=ZALH_OU,DC=其他");//这
env.put(Context.SECURITY_CREDENTIALS, "abc@1220");
env.put(Context.INITIAL_CONTEXT_FACTORY,
"com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, url);
try {
System.out.println("authenticating");
ctx = new InitialDirContext(env);
System.out.println("authenticated");
ctx.close();
return userName; //验证成功返回name
} catch (NamingException err) {
return err.getMessage();//验证失败返回空
}
}
验证时一直报 LDAP: error code 49 - 80090308: LdapErr: DSID-0C0903A9, comment: AcceptSecurityContext error, data 52e, v1db1 错误,求大神指点