2

我有一个具有各种 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>
4

0 回答 0