我有一个具有各种 URL 的客户服务应用程序。但是,一个 URL ( adminquery ) 是专门为客户服务管理员保留的,而不是现场代表。但是,只有当用户同时属于用户组和管理员组时,才能访问整个应用程序。如果某人仅在用户组中,则他们无法访问任何资源。所以我认为我的映射中某处存在逻辑冲突,它创建了某种 AND 条件。
有人可以在这里发现我哪里出错了吗?
网页.xml:
<security-constraint>
<web-resource-collection>
<web-resource-name>User</web-resource-name>
<url-pattern>/cs/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>cs</role-name>
</auth-constraint>
</security-constraint>
<security-constraint>
<web-resource-collection>
<web-resource-name>Admin</web-resource-name>
<url-pattern>/cs/adminquery</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>
glassfish-web.xml 映射
<security-role-mapping>
<role-name>cs</role-name>
<group-name>user</group-name>
<group-name>admin</group-name>
</security-role-mapping>
<security-role-mapping>
<role-name>admin</role-name>
<group-name>admin</group-name>
</security-role-mapping>