注:Springsecurity版本是4.2.4.RELEASE。
在jsp中使用has('role')的方式可以看下我的这篇博客。
1、引入maven依赖
List-1.1
org.springframework.security
spring-security-taglibs
4.2.4.RELEASE
2、xml配置
List-2.1
class="org.springframework.security.web.access.DefaultWebInvocationPrivilegeEvaluator">
...
如List-2.1所示,单独定义个DefaultWebInvocationPrivilegeEvaluator的bean就可以了,将interceptor作为构造函数的参数传给它,Springsecurity会自动加载它,需要注意的是这个webInvocationFilter要放在security配置的最前面,不然会失效,至于为什么,现在还没弄清楚。
3、jsp中使用标签
List-3.1
...
...
有权限的用户才能看到这段话。
...
...
我选择使用url的方式而非has('role')的方式,理由:角色名称、个数很有可能会经常变动,如果我们以has('role')的方式将role写到了jsp中,那么后面我们修改角色时,很有可能要去修改jsp中的角色;相反,如果以url的方式,那么我们只需要修改数据库中url、role、用户间的关系,不需要去关注是否要修改jsp中的权限。