使用 LDAP 领域配置 Tomcat 8



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

  • User filter: (&(cn=%v((objectclass=inetOrgPerson((
  • 组筛选器:(&(cn=%v((|(objectclass=groupOfNames((objectclass=groupOfUniqueNames(((
  • 用户 ID 映射: *:cn
  • 组 ID 映射: *:cn
  • 映射 ID 组成员:ibm-allGroups:member;ibm-allGroups:uniqueMember;组名称:成员;组唯一名称:唯一成员

tomcat 上的服务器.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 标签? 在网络上.xml,我必须指定什么角色?我只想向所有经过身份验证的用户授予访问权限。

我认为您已经很好地使用上述设置对用户进行身份验证。

角色

对于角色/组,可以按如下方式转换 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 安全约束

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

相关内容

  • 没有找到相关文章

最新更新