系列文章目录
第一章 SpringSecurity学习入门
前言
主要记录SpringSecurity实现原理以及简单实现
一、SpringSecurity是什么?
SpringSecurity本质上是一个过滤器链
1.FilterSecurityInterceptor(过滤器安全拦截器)
FilterSecurtiyInterceptor
实现Filter方法所以是一个过滤器,不是接口
- 在
doFilter
方法中进行具体的过滤判断
2.ExceptionTranslationFilter(异常过滤器)
- 判断认证授权中的异常
3.UsernamePasswordAuthenticationFilter(用户名密码校验过滤器)
- 在
attemptAuthentication
方法中进行具体的用户校验
二、使用步骤
本项目是基于 SpringBoot框架实现
本项目是基于 SpringBoot框架实现
本项目是基于 SpringBoot框架实现
1.引入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
<version>2.4.4</version>
</dependency>
2.实际使用
/**
* @author xiao-_-wu
* @date 2021/4/8 9:31
*/
@Slf4j
@RestController
@RequestMapping("/test")
public class TestController {
@GetMapping("/hello")
public String helloSecurity(){
return "Hello Security";
}
}
引入依赖后项目会直接进行安全拦截,这个时候是访问不到 /test/hello 接口的
会直接进入SpringSecurity登录页面
账号默认是user
密码则在项目启动时控制台输出
总结
SpringSecrity的本质上是过滤器,通过一系列的过滤器来达到安全认证,主要注意FilterSecurityInterceptor
,ExceptionTranslationFilter
,UsernamePasswordAuthenticationFilter
这三个过滤器