过滤器链
关键过滤器
SecurityContextPersistenceFilter 会在请求开始时从配置好的SecurityContextRepository中获取SecurityContext,然后把它设置给SecurityContextHolder。
在请求完成后将SecurityContextHolder持有的SecurityContext再保存到配置好的SecurityContextRepository,同时清除SecurityContextHolder所持有的SecurityContext。UsernamePasswordAuthenticationFilter用于处理来自表单提交的认证,认证成功由AuthenticationSuccessHandler处理,反之由AuthenticationFailureHandler处理。
FilterSecurityInterceptor用于保护Http资源(授权),它需要引用AccessDecisionManager(决策管理器)、AuthenticationManager(认证管理器)、 SecurityMetadataSource(资源与权限的对应关系)。
ExceptionTranslationFilter 只会处理 AuthenticationException、AccessDeniedException异常,其他的异常会抛出。