2

我有2个角色。

一种是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>

在这里,我有一个必须访问的页面,但前提是用户同时拥有admin两个角色,而不仅仅是其中一个。itadminit

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

但是previous的实际行为<security-constraint>admin 或者 it角色可以访问这个页面。

我怎样才能实现应用该用户必须被声明为 2 个角色admin 并且 it为了访问此页面而不仅仅是其中一个?

4

1 回答 1

3

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

只需创建一个新角色。

于 2016-04-04T08:18:41.910 回答