SpringSecruity-编程不良人

Time: 2024-10-21 Monday 08:42:01
Author: Jackasher

SpringSecruity-编程不良人

这个明显要讲的好, 从 Filter 开始讲, 前面讲的我很晕,上来就是代码 ,源码,流程,连 SPringSecruity 是什么都不知道,

SS 其实就是原生的 Filter, 直接继承 Filter 实现的

image-20241020152814915

image-20241020153943476

登入流程

首先 SpringBoot 里面有个 SpringSecruityAutoConfuguration,该类自动装配,并且引入 SpringBootWebSecruityConfiguration,该类会进行 http 初始化配置,

image-20241020161143737

看见这个表单认证了吗 http.formLogin, 该表单验证的过滤器就是UsernamePasswordAuthenticationFilter, 有一个默认的 AuthenticationManager如果传入了其他的就会覆盖原有的, 然后调用AuthenticationManager.authenicate(Authentication),传入的就是表单的输入对象,这个验证完毕之后会被装入容器里面

image-20241020161346685

AuthenticationManager有很多实现类,其中 ProviderManager 就是一个

image-20241020161827068

ProviderManager最后又是依靠下面这个类完成验证

image-20241020162658249

结果最后跳到了DaoAuthenticationProvider来调用 UserDetailService来实现,这个 UserDetailService 是它的一个成员变量,这个认证完的 loadUser 会被一直返回, 返回到 Authentication 里面

image-20241020162810154


SpringSecruity-编程不良人
http://example.com/2024/10/21/SpringSecruity-编程不良人/
作者
Jack Asher
发布于
2024年10月21日
许可协议