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 |
|