Spring Security 原理

spring security 在web应用中是基于filter的;

Filter:

spring security 维护了一个filter chain,chain中的每一个filter都具有特定的责任,并根据所需的服务在配置中添加。filter的顺序很重要,因为他们之间存在依赖关系。spring security中有如下filter(按顺序的):

ChannelProcessingFilter,因为它可能需要重定向到不同的协议

SecurityContextPersistenceFilter,可以在web请求开头的SecurityContextHolder中设置SecurityContext,并且SecurityContext的任何更改都可以复制到HttpSession当web请求结束时(准备好与下一个web请求一起使用)

ConcurrentSessionFilter,

身份验证处理-UsernamePasswordAuthenticationFilter,CasAuthenticationFilter,BasicAuthenticationFilter等。以便SecurityContextHolder可以修改为包含有效的Authentication请求令牌

SecurityContextHolderAwareRequestFilter

JaasApiIntegrationFilter

RememberMeAuthenticationFilter,记住我服务处理

AnonymousAuthenticationFilter,匿名身份处理,更新SecurityContextHolder

ExceptionTranslationFilter,获任何Spring Security异常,以便可以返回HTTP错误响应或启动适当的AuthenticationEntryPoint

FilterSecurityInterceptor,用于保护web URI并在访问被拒绝时引发异常

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值