FilterSecurityInterceptor的简单介绍

本文深入探讨SpringSecurity在Web应用中的作用,解释了其作为过滤器的功能及其内部如何构建过滤器链。重点阐述了权限验证过程,特别是FilterSecurityInterceptor在认证及验权流程中的关键角色,以及ProviderManager和AccessDecisionManager在认证和验证过程中的具体实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

          在web应用中,spring security是一个filter。而在filter内部,它又自建了一个filter chain(如果不用命名空间,也可以自定义)。spring security按顺序对每个filter进行处理。各filter之间有较大的差异性。与权限验证关系最密切的是FilterSecurityInterceptor。

 

FilterSecurityInterceptor认证及验权流程:

 

 

FilterSecurityInterceptor的类关系图如下。它使用AuthenticationManager做认证(用户是否已登录),使用AccessDecisionManager做验证(用户是否有权限)。


 
ProviderManager是默认的AuthenticationManager实现类,它不直接进行认证。而是采用组合模式,将认证工作委托给AuthenticationProvider。一般情况下,一组AuthenticationProvider有一个认证成功,就被视为认证成功。ProviderManager关系图如下:



 


 AccessDecisionManager负责验证用户是否有操作权限,它也是采用组合模式。security自带的AccessDecisionManager实现类有三种:AffirmativeBased只要有一个认证处理器认证通过就表示成功;ConsensusBased采用的是多数原则;UnanimousBased采用一票否决制。



 
 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值