Spring Security流程分析

Spring Security流程分析_第1张图片

 

  1. 请求 /hello 接口,在引入 spring security 之后会先经过一些列过滤器

  2. 在请求到达 FilterSecurityInterceptor时,发现请求并未认证。请求拦截下来,并抛出 AccessDeniedException 异常。

  3. 抛出 AccessDeniedException 的异常会被 ExceptionTranslationFilter 捕获,这个 Filter 中会调用 LoginUrlAuthenticationEntryPoint#commence 方法给客户端返回 302,要求客户端进行重定向到 /login 页面。

  4. 客户端发送 /login 请求。

  5. /login 请求会再次被拦截器中 DefaultLoginPageGeneratingFilter 拦截到,并在拦截器中返回生成登录页面。

就是通过这种方式,Spring Security 默认过滤器中生成了登录页面,并返回!

你可能感兴趣的:(Spring,Security)