我正在尝试使用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)
关于哪里出错的任何想法?
谢谢K
感谢您的回复。
我发现连接的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接收的角色的权限