1、登录校验流程

spring security 认证原理 - 图1

2 、原理讲解

要想实现符合我们自己业务的登录流程,就必须先弄明白入门案例中spring security的流程。

2.1、spring security完整流程

spring security的原理其实就是一个过滤器链,内部包含了提供各种功能的过滤器。下图简单描述了入门案例中的过滤器
image.png
注意:图中只展示了核心过滤器,其他的非核心的过滤器并没有在图中展示。

  • UsernamePasswordAuthenticationFilter:负责处理我们在登录页面填写了用户名密码后的登录请求,入门案例中的认证工作主要由他负责。
  • ExceptionTranslationFilter:处理过滤器链中抛出的任何AccessDeniedException和AuthenticationException
  • FilterSecurityInterceptor:负责权限校验的过滤器

我们可以通过Debug查看当前系统中spring security过滤器链中有哪些过滤器及它们的顺序
spring security 认证原理 - 图3

2.2 入门案例认证流程图

spring security 认证原理 - 图4