【问题标题】:Spring security tag to check specific identity用于检查特定身份的 Spring 安全标签
【发布时间】:2019-02-20 18:35:45
【问题描述】:

这个想法是在 jsp 文件中显示某些部分,但仅限于具有管理员角色或某些特定人员可以访问它的人。

假设,我有一个 QA 应用。人创建一个问题。现在,如果问题的创建者或管理员打开问题,他们有“删除”按钮来删除问题,而其他人没有这个按钮。

一个人和一个问题是一对多的关系。所以特定问题包含特定人的 id。

我可以检查一个人是否有管理员角色

<sec:authorize access="hasRole('ADMIN')"> question entity </sec:authorize>

但是我如何检查人员是否具有特定权利,比如说,这取决于问题实体中包含的人员 ID?

如果我传入模型人员的 id 和问题的 id 然后检查它们是否相等怎么办?我应该使用什么标签?

编辑: 一般来说,我想要我自己的页内授权表达式,如

 <sec:authorize access="hasRole('ADMIN')"> question entity </sec:authorize>

但我想要 isOwner() 而不是默认的 hasRole()

【问题讨论】:

  • 能否请您发布更多详细信息
  • this
  • @HadiJ 解释了如何实现您自己的方法级别授权(例如,PreAuthorize、PostAuthorize),但我如何创建自己的页面内级别,如授权()?

标签: java spring spring-mvc spring-security


【解决方案1】:

嗯,这个想法是创建自定义 Web 安全表达式以在 JSP 中使用,例如:&lt;sec:authorize access="isOwner()"&gt; question entity &lt;/sec:authorize&gt;,并在 this post. 中解释了如何执行此操作

【讨论】:

    猜你喜欢
    • 2017-03-21
    • 2016-03-06
    • 2019-02-21
    • 2011-05-04
    • 2012-11-21
    • 2019-06-25
    • 1970-01-01
    • 2015-08-08
    • 2019-01-27
    相关资源
    最近更新 更多