【问题标题】:Configure Tomcat 8 with LDAP realm使用 LDAP 领域配置 Tomcat 8
【发布时间】:2018-09-13 20:54:44
【问题描述】:

我在 Tomcat 8 上配置 LDAP 服务器时遇到问题。 我配置了一个 LDAP 服务器并在 WAS 8.5 服务器上工作,我想在 Tomcat 上配置相同的 LDAP。 WAS 配置是(从意大利语翻译过来的):

  • 用户过滤器:(&(cn=%v)(objectclass=inetOrgPerson))
  • 组过滤器:(&(cn=%v)(|(objectclass=groupOfNames)(objectclass=groupOfUniqueNames)))
  • 用户ID映射:*:cn
  • 集团ID图:*:cn
  • 组的映射 ID 成员:ibm-allGroups:member;ibm-allGroups:uniqueMember;groupOfNames:member;groupOfUniqueNames:uniqueMember

tomcat上server.xml中的Realm标签是:

<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"                          
            />

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

【问题讨论】:

    标签: authentication tomcat ldap jdbcrealm


    【解决方案1】:

    我认为您已经在使用上述设置对用户进行身份验证方面做得很好。

    角色

    对于角色/组,您可以按如下方式翻译 WAS 设置:

    <...your config...
     roleBase="o=organization,c=it"
     roleSubtree="true"
     roleSearch="(&(uniqueMember={0})(|(objectclass=groupOfNames)(objectclass=groupOfUniqueNames)))" 
     roleName="cn"/>
    

    用户在 Tomcat 中分配的角色将是目录中的组名列表。由于这可能会有所不同,您需要预先设置一些组,这些组在您的 web.xml 中列出。然后将这些组分配给用户将给予他们适当的访问权限。

    经过身份验证的用户

    如果您只想允许任何经过身份验证的用户,您可以将属性allRolesMode 设置为authOnly,如下所示:

    <...your config...
     allRolesMode="authOnly"/>
    

    然后,您的 web.xml 应使用 * 来指定角色,如下所示:

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

    也许您还应该设置security-role 元素,如下所示:Tomcat security constraint for valid user

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

    【讨论】:

    • 你申请的是哪个?团体方法还是 allRolesMode? (顺便说一句,当解决方案有效时,您可以将答案标记为“已接受”;-))
    猜你喜欢
    • 1970-01-01
    • 2021-09-17
    • 1970-01-01
    • 1970-01-01
    • 2010-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多