Spring Security 原理
spring security的代码比较难,之前我在ProcessOn上做了源码导读,所以这里只说关键点。
理解关键点
- 认证的逻辑有多个
filter来完成,常用的filter如UsernamePasswordAuthenticationFilter,RememberMeAuthenticationFilter。 - 认证成功,就会生成
Authentication对象,可以从SecurityContextHolder获取。 - 有两个核心配置类,
HttpSecurity和WebSecurity,这两个都是用来配置springSecurityFilterChain,只不过暴露的方法不一样。
关键代码
第一步执行下面方法,添加 SecurityConfigurer。