【发布时间】:2010-04-28 18:04:00
【问题描述】:
我在 Glassfish 中设置了一个安全领域,以针对 Active Directory 服务器进行身份验证。领域的配置如下:
Class Name: com.sun.enterprise.security.auth.realm.ldap.LDAPRealm
JAAS context: ldapRealm
Directory: ldap://172.16.76.10:389/
Base DN: dc=smallbusiness,dc=local
search-filter: (&(objectClass=user)(sAMAccountName=%s))
group-search-filter: (&(objectClass=group)(member=%d))
search-bind-dn: cN=Administrator,CN=Users,dc=smallbusiness,dc=local
search-bind-password: abcd1234!
领域功能正常,我可以登录,但是当我登录时,我会在日志中收到以下错误:
SEC1106: Error during LDAP search with filter [(&(objectClass=group)(member=CN=Administrator,CN=Users,dc=smallbusiness,dc=local))].
SEC1000: Caught exception.
javax.naming.PartialResultException: Unprocessed Continuation Reference(s); remaining name 'dc=smallbusiness,dc=local'
at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2820)
....
....
ldaplm.searcherror
在寻找解决方案时,我发现建议将java.naming.referral=follow 添加到领域的属性中。但是,在我添加此内容后,GlassFish 需要 20 分钟才能针对 Active Directory 进行身份验证。我怀疑这是 Active Directory 服务器上的 DNS 问题。 Active Directory 服务器是虚拟机中的普通 Windows Server 2003 设置。
非常感谢任何帮助/建议!
【问题讨论】:
标签: java active-directory glassfish