用于检查特定身份的 Spring 安全标记



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

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

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

我可以检查某人是否具有管理员角色

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

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

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

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

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

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

嗯,这个想法是创建自定义的 Web 安全表达式以在 JSP 中使用,例如:<sec:authorize access="isOwner()"> question entity </sec:authorize>并在这篇文章中解释了如何做到这一点。

最新更新