Spring Boot整合Spring Security简记-过
2018-01-17 本文已影响256人
78240024406c
new無语 转载请注明原创出处,谢谢!
Spring Security的安全Web架构完全基于标准的Servlet过滤器。
本章简述各个过滤器的职责。
过滤器排序
FilterChainProxy-
ChannelProcessingFilter: 定向不同协议。 -
SecurityContextPersistenceFilter: 维护HttpSession,装填SecurityContext。请求结束时,复制保存SecurityContext和请求状态,清除SecurityContextHolder。 -
ConcurrentSessionFilter: 维持更新用户的持续请求状态。 -
认证处理机制:UsernamePasswordAuthenticationFilter、OAuth2ClientAuthenticationProcessingFilter等,装填请求令牌信息。 SecurityContextHolderAwareRequestFilterJaasApiIntegrationFilter-
RememberMeAuthenticationFilter: 用户未认证时,请求缓存cookie用户信息,符合条件,则默认提供用户信息认证RememberMeAuthenticationToken。 -
AnonymousAuthenticationFilter: 用户未登录时,请求匿名登陆,提供匿名用户信息AnonymousAuthenticationToken进行访问系统。 -
ExceptionTranslationFilter: 捕获Spring Security异常,返回HTTP错误响应或者调用AuthenticationEntryPoint。 -
FilterSecurityInterceptor: 负责处理HTTP资源的安全性。调用AuthenticationManager、AccessDecisionManager。
-
SecurityContextRepository: 加载和存储context接口。 -
AccessDecisionManager: 权限验证,功能具体授权于DecisionVoter集合。 -
RunAsManager: 临时替换Authentication。 -
AfterInvocationManager: 后置权限验证,可对资源返回值进行修改,或者报异常(后置权限验证失败)。
AbstractSecurityInterceptor
认证机制
终端提交请求之后,都需要在服务器端进行收集身份验证信息(HTTP表单或者HTTP Header),在Spring Security中,这种收集认证信息的功能叫做“认证机制”(Authentication Mechanism)。
AuthenticationEntryPoint
AuthenticationEntryPoint负责将用户定向到其它入口。
-
LoginUrlAuthenticationEntryPoint:定向到表单登陆页面。 -
Http401AuthenticationEntryPoint:发送401状态码。