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

时间:2009-12-21 15:34:44

标签: tomcat active-directory ldap

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

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

由于 ķ

1 个答案:

答案 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

收到的角色的权限