一尘不染

将AD与在Tomcat上运行的Web应用程序集成

tomcat

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


阅读 392

收藏
2020-06-16

共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接收的角色的权限

2020-06-16