我正在使用 OpenAM 及其嵌入式 OpenDJ 作为 LDAP 服务,以保护我在 JBoss 7 上运行的 Web 应用程序。
当我启动我的 JBoss 时,我收到此错误:
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ldapUserDN'
...
Caused by: javax.naming.NameNotFoundException: ldap/idp/userDN -- service jboss.naming.context.java.ldap.idp.userDN
所以显然 Spring 正在寻找 JNDI 节点ldap/idp/userDN。但是我在项目中获得的 jboss 配置文件有以下条目:
<simple name="ldap/opendj/url" value="ldap://localhost:50389"/>
<simple name="ldap/opendj/userDN" value="cn=Directory Manager"/>
<simple name="ldap/opendj/password" value="mypassword"/>
<simple name="ldap/opendj/baseDN" value="dc=opensso,dc=java,dc=net"/>
这些属性被添加到我在 JBoss 上的 JNDI 树中。
例如,如果我将这些更改为“ldap/idp/userDN”,那么我就可以摆脱错误,但我想知道是否有任何地方应该将“ldap/opendj/userDN”映射到“ldap/idp/userDN” “,我错过了。