一个困难的问题:为什么在这个Java代码中有javax.naming.AuthenticationException?

时间:2016-11-02 12:01:07

标签: java linux windows active-directory ldap

一个棘手的问题,因为一整天都没有人回复......

以下是成功访问Active Directory服务器的命令行:

IQueryable<className> obj=new IQueryable<className>();

这是我打算在其中执行相同操作的Java代码:

> ldapsearch -x -h 123.45.67.89 -D "Administrator@joe.com" -W -b "cn=users,dc=joedoe,dc=com" "objectClass=user"
Enter LDAP Password: *********
# extended LDIF
#
# LDAPv3
<...>

我一直异常:

Hashtable<String, String> ldapEnv = new Hashtable<String, String>(11);
ldapEnv.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
ldapEnv.put(Context.PROVIDER_URL,  "ldap://123.45.67.89");
ldapEnv.put(Context.SECURITY_AUTHENTICATION, "simple");
ldapEnv.put(Context.SECURITY_PRINCIPAL, "cn=users,dc=joe,dc=com");

ldapEnv.put(Context.SECURITY_CREDENTIALS, "********");
DirContext ldapContext = new InitialDirContext(ldapEnv);  

我做错了什么?

0 个答案:

没有答案