Spring-Security自动配置类概述
概述
spring-boot-starter-security和spring其它系列的starter一样,依赖spring-boot-autoconfigure,根据其META-INF下的spring.factories加载自动配置类,然后进行一系列的初始化配置。查看spring.factories下的EnableAutoConfiguration和spring-security相关的一共有以下几种自动配置
1 | SecurityAutoConfiguration |
下面对这些自动配置类进行简单的分析
AccessDecisionManager源码分析
FilterSecurityInterceptor源码分析
ExceptionTranslationFilter源码分析
AnonymousAuthenticationFilter源码分析
AuthenticationManager源码分析
概述
本文是接着上一篇的UsernamePasswordAuthenticationFilter源码分析在匹配到需要认证的请求时,内部是如何进行认证的。如果对这个过滤器不太了解,可以回头看一下它的原理。现在我们知道它最终是委托给AuthenticationManager进行认证的。从AuthenticationManager的实现类来看,它的主要实现类是ProviderManager,接下来我们着重看一下它内部的实现原理。
UsernamePasswordAuthenticationFilter源码分析
概述
UsernamePasswordAuthenticationFilter顾名思义,用户名密码认证过滤器,是用来处理用户名密码登陆请求的过滤器。匹配/login请求,从请求中获取用户名和密码,然后进行认证。如果认证成功则将生成的Authentication对象放入当前线程的SecurityContext,回顾
SecurityContextPersistenceFilter源码分析中SecurityContext的生成过程,然后调用配置的AuthenticationSuccessHandler。如果认证失败则调用AuthenticationFailureHandler。