我尝试使用AD进行身份验证来更改我的Web应用程序。我的应用程序使用Tomcat 5.5.17。目前,它使用UserDatabaseRealm来验证应用程序的用户。在这里阅读了很多帖子之后,我在server.xml中使用了以下配置。 (因为刚刚开始,我没有打扰角色)。
但是当我确实尝试登录时,我似乎得到了这个错误。 (我使用JXplorer浏览ActiveDirectory,因此我知道URL有效)
javax.naming.NamingException: [LDAP: error code 1 - 00000000: LdapErr: DSID-0C090627, comment: In order to perform this operation a successful bind must be completed on the connection., data 0, vece
INFO | jvm 1 | 2009/12/21 08:55:31 | at com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:3045)
INFO | jvm 1 | 2009/12/21 08:55:31 | at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2951)
INFO | jvm 1 | 2009/12/21 08:55:31 | at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2758)
INFO | jvm 1 | 2009/12/21 08:55:31 | at com.sun.jndi.ldap.LdapCtx.searchAux(LdapCtx.java:1812)
关于哪里出错的任何想法?
由于 ķ
答案 0 :(得分:1)
感谢您的回复。
我发现我连接的ldap服务器需要一个绑定的用户名和密码,在提供时它起作用
对于需要它的人来说,这是我的配置看起来的方式
<Realm className="org.apache.catalina.realm.CustomLdapUserRealm"
debug="99"
userBase="ou=xx,ou=xx,ou=xx,DC=xx,DC=xx,DC=xx"
userSearch="(sAMAccountName={0})"
connectionURL="ldap://xxx:389"
digest="MD5"
roleName="cn"
roleBase="ou=xx,ou=xx,ou=xx,DC=xx,DC=xx,DC=xx"
userRoleName="xx"
/>
在CustomLdapUserRelam中,我提供了绑定用户名和密码。同样在我的web.xml中,我必须授予我从LDAP
收到的角色的权限