SpringSecurity

待更新

SpringSecurity

入门环境

基于父依赖SpringBoot 2.7.3

导入依赖

1
2
3
4
5
6
7
8
9
10
<!--SpringBoot Web-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--SpringSecurity-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>

认证

登录校验流程图

通过新的Debug方式了解Security内部逻辑

SpringSecurity的原理其实就是一个过滤器链,内部包含了提供各种功能的过滤器

此时我们需要探究SpringSecurity的过滤器链, 可以通过查看Spring容器中的容器就可以知道

我们获取SpringApplication的返回值 如:

1
ConfigurableApplicationContext run = SpringApplication.run(SecurityApplication.class, args);

在此行的下方随便输出一行语句, 打上断点, 进入debug模式

对刚刚的返回值run进行捕获(图示里面并未添加返回值), 按下回车即可获取结果集(容器), 在此时我们需要获取的bean为DefaultSecurityFilterChain

如图可以看到有16个过滤器