mma*_*ran 5 jsp spring-security
我有一个带有Spring Security的JSP.我有一个简单的标签,确定用户是否有这样的ADMIN角色:
<sec:authorize access="hasRole('ADMIN')">
Run Code Online (Sandbox Code Playgroud)
并且工作正常.我现在正试图在整个站点中实现许多角色,所以我有一个UserAccess静态字符串的类作为我所有角色的常量.所以我试试这个:
<sec:authorize access="hasRole(UserAccess.ADMIN)">
Run Code Online (Sandbox Code Playgroud)
但这是投掷:
Field or property 'UserAccess' cannot be found on object of type
'org.springframework.security.web.access.expression.WebSecurityExpressionRoot'
Run Code Online (Sandbox Code Playgroud)
该类位于类路径中,我可以使用<% .. %>等
方式访问它... 处理此问题的最佳方法是什么?
要引用内部实例,hasRole您需要使用特殊T运算符并使用类的完全限定名称.
<sec:authorize access="hasRole(T(package.UserAccess).ADMIN)">
Run Code Online (Sandbox Code Playgroud)
也许缺少单引号?尝试这个:
<sec:authorize access="hasRole('UserAccess.ADMIN')">
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2140 次 |
| 最近记录: |