我有一个带有 Spring Security 的 JSP。我有一个简单的标签来确定用户是否有 ADMIN
像这样的角色:
<sec:authorize access="hasRole('ADMIN')">
并且工作正常。我现在正尝试在整个站点上实现多个角色,所以我有一个
UserAccess
使用静态字符串作为我所有角色的常量的类。所以我试试这个:<sec:authorize access="hasRole(UserAccess.ADMIN)">
但这正在抛出:
Field or property 'UserAccess' cannot be found on object of type
'org.springframework.security.web.access.expression.WebSecurityExpressionRoot'
该类在类路径中,我可以通过
<% .. %>
访问它等等...处理这个问题的最佳方法是什么?
最佳答案
引用 hasRole
中的实例您需要使用专用T
运算符并使用类的完全限定名称。
<sec:authorize access="hasRole(T(package.UserAccess).ADMIN)">
关于jsp - 如何为 Spring Security hasRole 使用常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19108256/