服务器的389端口:
服务器上的389端口用于LDAP(http://zh.wikipedia.org/wiki/LDAP),使用TCP和UDP协议。当客户端访问服务器的LDAP服务时,首先使用TCP协议连接服务器的389端口,如果失败则转用UDP。
FROM:http://blog.sina.com.cn/s/blog_4bca87330101en52.html
报错:
ad 域验证报LDAP:[LDAP: error code 49 - 80090308: LdapErr: DSID-0C0903C8, comment: AcceptSecurityContext error, data 52e, v2580............
解决方法:
在“PRINCIPAL”中加了域名可以了。比如登录名:arthur,所在域:arthurzhang.cn,“PRINCIPAL”设置为“arthur@arthurzhang.cn”,就可以通过LDAP验证了。
服务器上的389端口用于LDAP(http://zh.wikipedia.org/wiki/LDAP),使用TCP和UDP协议。当客户端访问服务器的LDAP服务时,首先使用TCP协议连接服务器的389端口,如果失败则转用UDP。
FROM:http://blog.sina.com.cn/s/blog_4bca87330101en52.html
报错:
ad 域验证报LDAP:[LDAP: error code 49 - 80090308: LdapErr: DSID-0C0903C8, comment: AcceptSecurityContext error, data 52e, v2580............
解决方法:
在“PRINCIPAL”中加了域名可以了。比如登录名:arthur,所在域:arthurzhang.cn,“PRINCIPAL”设置为“arthur@arthurzhang.cn”,就可以通过LDAP验证了。
FROM:http://ask.csdn.net/questions/148380
JAVA 验证AD域名登陆代码:
/
String host;
String port;
String username="t00003@tt.com";
String password="xi1425!";
host = "10.94.2.111"; // AD服务器IP
port = "389"; // 端口
DirContext ctx=null;
int isLogin = 0;
Hashtable<String,String> HashEnv = new Hashtable<String,String>();
HashEnv.put(Context.SECURITY_AUTHENTICATION, "simple"); // LDAP访问安全级别(none,simple,strong)
HashEnv.put(Context.SECURITY_PRINCIPAL, username); //AD的用户名
HashEnv.put(Context.SECURITY_CREDENTIALS, password); //AD的密码
HashEnv.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory"); //LDAP工厂类
HashEnv.put("com.sun.jndi.ldap.connect.timeout","3000");//连接超时设置为3秒
HashEnv.put(Context.PROVIDER_URL," ldap://" + host + ":" + port);//默认端口389
try {
if(password!=null&&!password.equals("")){
ctx = new InitialDirContext(HashEnv);//初始化上下文
//System.out.println("身份验证成功!");
isLogin = 1;
}else{
//System.out.println("身份验证失败!");
isLogin = 0;//没有输入密码属于身份失败
}
} catch (AuthenticationException e) { //ttsemi\t0000
System.out.println("身份验证失败!");
e.printStackTrace();
isLogin = 0;
} catch (javax.naming.CommunicationException e) {
System.out.println("AD域连接失败!");
e.printStackTrace();
isLogin = -1;
} catch (Exception e) {
System.out.println("身份验证未知异常!");
e.printStackTrace();
isLogin = -1;
} finally{
if(null!=ctx){
try {
ctx.close();
ctx=null;
} catch (Exception e) {
e.printStackTrace();
}
}
}
System.out.println("isLogin="+isLogin);
//
FROM:
http://blog.csdn.net/thl331860203/article/details/43192593