SpringSecurity
Spring安全管理框架
引入依赖
1 | |
基本原理
SpringSecurity本质是一个过滤器链
FilerSecurityInterceptor:是一个方法级的权限过滤器,基本位于过滤器的最底部
ExceptionTranslationFilter:异常过滤器,用来处理在认证授权过程 中抛出的异常
UsernamePasswordAuthenticationFilter:对/login的POST请求做拦截,校验表单中的用户名和密码

基础接口
UserDetailService
查询数据库用户名和密码的接口
创建类继承UsernamePasswordAuthenticationFilter,重写三个方法
创建类实现UserDetailService,编写查询数据过程,发回User对象,这个User对象是安全框架提供对象
PasswordEncoder
数据加密接口,用于返回User对象里面的密码加密
设置用户名和密码
通过配置文件

通过配置类

自定义编写实现类

权限控制



注解
@Secured
判断是否具有角色,字符串需要添加前缀ROLE_
使用之前需要在启动类上开启注解@EnableGlobalMethodSecurity(securedEnabled=true)
1 | |
@PreAuthorize
开启注解@EnableGlobalMethodSecurity(prePostEnabled=true)
该注解适合进入方法前的权限验证
1 | |

