我正在尝试使用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)


关于哪里出错的任何想法?

谢谢
ķ

最佳答案

感谢您的回复。

我发现连接到的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接收的角色的权限

08-03 14:29
查看更多