Authentication 使用LDAP域配置Tomcat8

Authentication 使用LDAP域配置Tomcat8,authentication,tomcat,ldap,jdbcrealm,Authentication,Tomcat,Ldap,Jdbcrealm,我在Tomcat8上配置LDAP服务器时遇到问题。 我已经配置了一个LDAP服务器并在WAS8.5服务器上工作,我想在Tomcat上配置相同的LDAP。 WAS配置为(从意大利语翻译): 用户筛选器:(&(cn=%v)(objectclass=inetOrgPerson)) 组筛选器:(&(cn=%v)(|(objectclass=groupOfNames)(objectclass=groupOfUniqueNames))) 用户ID映射:*:cn 组ID映射:*:cn 组的映射ID成员:ib

我在Tomcat8上配置LDAP服务器时遇到问题。 我已经配置了一个LDAP服务器并在WAS8.5服务器上工作,我想在Tomcat上配置相同的LDAP。 WAS配置为(从意大利语翻译):

  • 用户筛选器:(&(cn=%v)(objectclass=inetOrgPerson))
  • 组筛选器:(&(cn=%v)(|(objectclass=groupOfNames)(objectclass=groupOfUniqueNames)))
  • 用户ID映射:*:cn
  • 组ID映射:*:cn
  • 组的映射ID成员:ibm allGroups:member;ibm所有组:唯一成员;姓名组:成员;唯一成员组:唯一成员
tomcat上server.xml中的领域标记是:

<Realm className="org.apache.catalina.realm.JNDIRealm" debug="10"
                            connectionURL="ldap://192.168.0.3:389"
                            userBase="o=organization,c=it"
                            userSearch="(cn={0})"
                            userSubtree="true"
                            connectionName="cn=test,cn=Directory Administrators,o=organization,c=it"
                            connectionPassword="testpass"                          
            />

如何用角色属性填充领域标记?
在web.xml中,我必须指定什么角色?我只想向所有经过身份验证的用户授予访问权限。

我认为您已经可以使用上述设置对用户进行身份验证了

角色

对于角色/组,可以按如下方式转换WAS设置:

<...your config...
 roleBase="o=organization,c=it"
 roleSubtree="true"
 roleSearch="(&(uniqueMember={0})(|(objectclass=groupOfNames)(objectclass=groupOfUniqueNames)))" 
 roleName="cn"/>
然后,您的web.xml应该使用
*
作为角色规范,如下所示:

<auth-constraint>
    <role-name>*</role-name>
</auth-constraint>


就我个人而言,我没有使用
authOnly
的设置,但我知道这是可以做到的,并且已经看到了它的实际应用

你申请了什么?分组方法还是AllRoleMode?(顺便说一句,当解决方案有效时,您可以将答案标记为“已接受”。-)
<auth-constraint>
    <role-name>*</role-name>
</auth-constraint>