如何使用 检查多个角色?


问题内容

我想使用Spring Security JSP标签库根据角色有条件地显示一些内容。但是在Spring Security 3.1.x中,仅检查一个角色。

我可以使用,但 ifAllGranted 已弃用。

有什么帮助吗?


问题答案:

春季安全性中有一个特殊的安全性表达:

hasAnyRole(角色列表) -如果已授予用户指定的任何角色(以逗号分隔的字符串 列表形式) ,则为true。

我从未使用过它,但我认为它正是您所需要的。

用法示例:

<security:authorize access="hasAnyRole('ADMIN', 'DEVELOPER')">
    ...
</security:authorize>

这是参考文档链接,其中描述了标准的spring安全性表达式。另外,在这里的讨论中,我描述了如何在需要时创建自定义表达式。