LDAP: error code 49 – 80090308: LdapErr: DSID-0C0903A9,comment: AcceptSecurityContext error,data 52e,v1db1
我知道“52e”代码是用户名是有效的,但密码无效.我在我的apache工作室使用相同的用户名和密码,我能够成功地建立到LDAP的连接.
String userName = "*******"; String password = "********"; String base ="DC=PSLTESTDOMAIN,DC=LOCAL"; String dn = "cn=" + userName + "," + base; Hashtable env = new Hashtable(); env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory"); env.put(Context.PROVIDER_URL,"ldap://******"); env.put(Context.SECURITY_AUTHENTICATION,"simple"); env.put(Context.SECURITY_PRINCIPAL,dn); env.put(Context.SECURITY_CREDENTIALS,password); LDAPAuthenticationService ldap = new LDAPAuthenticationService(); // LdapContext ctx; DirContext ctx = null; try { ctx = new InitialDirContext(env);
我的错误在这一行:ctx = new InitialDirContext(env);
我不知道究竟是什么导致这个错误.
解决方法
数据52e –
Returns when username is valid but password/credential is invalid.
你可能需要类似的东西
String dn = "cn=" + userName + "," + "CN=Users," + base;