gpt4 book ai didi

jakarta-ee - 多重安全约束 : last one excluding preceding url-patterns

转载 作者:行者123 更新时间:2023-12-03 09:56:31 25 4
gpt4 key购买 nike

我需要为我的 web 应用程序的三个不同部分定义安全约束。一为/admin/* , 一为 /account/*和一个棘手的。最后一个应该匹配除前面的 url-patterns 之外的所有内容( /* 不包括 /admin/*/account/* )。如何创建此约束?

  <security-constraint>
<web-resource-collection>
<web-resource-name>AdminPanel</web-resource-name>
<url-pattern>/admin/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
</auth-constraint>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>

<security-constraint>
<web-resource-collection>
<web-resource-name>AccountPanel</web-resource-name>
<url-pattern>/account/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>account</role-name>
</auth-constraint>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>

<security-constraint>
<web-resource-collection>
<web-resource-name>HTTPSOnly</web-resource-name>
<url-pattern>`/* excluding /admin/*, /account/*`</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>visitor</role-name>
</auth-constraint>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>

最佳答案

您定义了三个不同的角色,即。管理员、帐户和访客。

您的第一个约束是只有管理员角色可以访问/admin/* 中的资源

您的第二个约束是只有帐户可以访问/account/* 中的资源

此时(没有第三个约束)想象一个访问者角色(或任何其他与此相关的角色)尝试访问管理员和帐户目录中的任何内容。由于前 2 条规则,它将无法访问它。它只能访问 admin 和 account 目录之外的资源。

所以你想要的已经通过前两个约束实现了,在我看来你不需要第三个约束。

关于jakarta-ee - 多重安全约束 : last one excluding preceding url-patterns,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15763763/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com