我正在尝试使用标准 Java (javax.naming.*) 库连接到 Active Directory。
这似乎与连接到任何其他 LDAP 完全一样,除了一个区别:SECURITY_PRINCIPAL
需要以表格形式提供
sAMAccountName@domainComponent(s)
例如
env.put(Context.SECURITY_PRINCIPAL, "foo@bar.baz.org"
尝试使用指向完全相同的用户的有效 DN
env.put(Context.SECURITY_PRINCIPAL, "cn=foo,cn=Users,dc=bar,dc=baz,dc=org
导致一个AuthenticationException
. 这是特定于 Active Directory 的东西吗?对于其他 LDAP DS,最后一种方法总是有效的。