对具有多个角色的用户声明安全约束

Declare security constraint on user with multiple roles inclusive

我有两个角色。

一个是admin可以查看所有页面的角色。

<security-constraint>
    <web-resource-collection>
        <web-resource-name>Admin Pages</web-resource-name>
        <url-pattern>/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <role-name>admin</role-name>
    </auth-constraint>
</security-constraint>

其他是可以查看IT页面的it角色。

<security-constraint>
    <web-resource-collection>
        <web-resource-name>IT Pages</web-resource-name>
        <url-pattern>/it/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <role-name>it</role-name>
    </auth-constraint>
</security-constraint>

这里我有一个 adminit 必须访问的页面,但前提是用户具有 both 角色 adminit而且不止一个

<security-constraint>
    <web-resource-collection>
        <web-resource-name>Admin and it Pages</web-resource-name>
        <url-pattern>/other/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <role-name>admin</role-name>
        <role-name>it</role-name>
    </auth-constraint>
</security-constraint>

但之前<security-constraint>的实际行为是admin it角色可以访问此页面。

我怎样才能应用必须声明用户为 2 个角色 admin it 才能访问此页面,而不仅仅是其中之一?

这是不可能的。角色不是那样工作的。你似乎把角色的意思倒过来了。将角色视为权限可能更容易。

只需创建一个新角色。