第一章:Spring Security(四):Security的第一次资源访问流程

文章目录

 

第一节:SpringSecurity(一)入门学习规划

第二节:SpringSecurity(二):SpringSecurity入门

第三节:Spring Security(三):Security中重要的几个类

第四节:Spring Security(四):Security的第一次资源访问流程

第五节:Spring Security(五):Security登陆的超简单例子

第六节:Spring Security(六):Security登录的用户名和密码的校验逻辑

 


研究:我有点好奇,我在访问 http://localhost:8080/hello 资源的时候,security让页面自动跳转到了/login请求,所以我查了下资料,并走了下流程。

文章目录

 


前言

Spring Security的认证核心为过滤器链,我就从Spring的过滤请求中去寻找答案。


 

一、Security资源访问流程

其实在了解Security资源访问流程的过程中,我们需要知道FilterSecurityInterceptor和ExceptionTranslationFilter类的作用

1. FilterChainProxy

过滤器链

2. ExceptionTranslationFilter

该filter的作用是捕获AuthenticationException和AccessDeniedException两种异常,其他类型的异常再次抛出

流程:FilterChainProxy-->WebAsyncManagerInterationFilter-->SecurityContextPersistenceFilter-->HeaderWriterFilter-->CsrfFilter-->LogoutFilter-->UsernamePasswordAuthenticationFilter-->DefaultLoginPageGeneratingFilter-->DefaultLogoutPageGeneratingFilter-->BasicAuthenticationFilter-->RequestCacheAwareFilter-->SecurityContextHolderAwareRequestFilter-->...-->ExceptionTransactionFilter-->FilterSecurityInterceptor(执行到此处报异常)-->ExceptionTransactionFilter(捕获到AccessDeniedException异常)

下面时序图:

二、使用步骤

1.了解Security默认的过滤器

默认过滤器此处就不介绍了,大家可以去查看一下。(略)

 

2.了解FilterChainProxy类

此类是调用所有过滤器的过滤器链(略)

 

3.了解FilterSecurityInterceptor类

未登陆请求,会在此过滤器中执行校验,抛出异常(略)


总结

本次学习,主要了解第一次执行访问的时候,security的filter链执行流程以及校验的过程。将主要的类和流程列出,方便以后查看,不再对具体类的源码进行说明。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值