Spring权限控制介绍
一、服务器端方法级权限控制
在服务端我们通过Spring-Security提供的注解对方法进行权限控制。Spring-Security支持三种类型的注解,JSR-250注解、@Secured注解和支持表达式的注解。这三种注解在默认都是没有启用的,需要单独通过global-method-security元素的对应属性进行启动。
- JSR-250注解
1、需要在spring-security.xml中开启
2、在指定方法上使用
3、必须在pom.xml中导入
- @Secured注解
@Secured注解标注的方法进行权限的控制的支持,其默认值为disabled
1、开启使用
2、在指定的方法上使用
注意事项:在使用JSR250时,可以省略ROLE_前缀,而我们现在使用的@Secured是不能省略前缀的
-
支持表达式的注解
1、开启
在spring-security中进行配置2、使用,可以使用SPEL表达式
可以指定单独的用户访问权限,也可以使用preAuthorize为方法提供权限控制。它的功能更加强大,可以拓展参考SPEL表达式的学习。
二、页面端标签控制权限
spring-security提供
1、导入相关的配置文件
2、在jsp页面导入
3、在页面上使用
此标签在jsp页面可以显示正在操作的用户的用户名
此标签可防止在html标签之上来控制是否显示,管理员才可以显示相应标签
4、在sprin-security中修改配置使用SPEL表达式
同时修改:
如果不想修改可以在spring-security.xml中配置
<bean id="defaultWebSecurityExpressionHandler" class="org.springframework.security.web.access.expression.DefaultWebSecurityExpressionHandler"></bean>