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

时间:2016-03-31 14:28:55

标签: java-ee web.xml roles security-constraint

我有两个角色。

一个是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必须访问的网页,但前提是用户同时拥有角色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才能访问此页面,而不仅仅是其中一个?< / p>

1 个答案:

答案 0 :(得分:3)

这是不可能的。角色不起作用。你似乎有向后角色的含义。将角色视为权限可能更容易。

只需创建一个新角色。