さまざまな URL を持つ顧客サービス アプリケーションがあります。ただし、1 つの URL ( adminquery ) は、現場の担当者ではなく、カスタマー サービス管理者専用に予約されています。ただし、ユーザーがユーザーグループと管理者グループの両方に属している場合にのみ、アプリ全体にアクセスできます。誰かがユーザーグループだけにいる場合、そのユーザーはリソースにアクセスできません。したがって、マッピングのどこかに論理的な競合があり、何らかの AND 条件を作成していると考えています。
誰かが私がここで間違った場所を見つけることができますか?
web.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>