对具有多个角色的用户声明安全约束
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>
这里我有一个 admin
和 it
必须访问的页面,但前提是用户具有 both 角色 admin
和it
而且不止一个
<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
才能访问此页面,而不仅仅是其中之一?
这是不可能的。角色不是那样工作的。你似乎把角色的意思倒过来了。将角色视为权限可能更容易。
只需创建一个新角色。
我有两个角色。
一个是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
和 it
必须访问的页面,但前提是用户具有 both 角色 admin
和it
而且不止一个
<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
才能访问此页面,而不仅仅是其中之一?
这是不可能的。角色不是那样工作的。你似乎把角色的意思倒过来了。将角色视为权限可能更容易。
只需创建一个新角色。