Acegi过滤器之间的位置关系

为了防止以后忘记各个过滤器作用,特此把主要的过滤器作用放入此blog中。

 

ChannelProcessingFilter:检查用户请求是否走了要求的数据传输通道,即是SSL传输通道还是HTTP传输通道。如果不复合 要求ChannelProcessingFilter会采用重定向机制转换传输协议。注意ChannelProcessingFilter并不操控存储了 SecurityContext对象的SecurityContextHolder

ConcurrentSessionFilter:用于HttpSession并发控制的过滤器,它也不需要操控到存储了SecurityContext对象的SecurityContextHolder

HttpSessionConcurrentIntegrationFilter:这是操控SecurityContextHolder的首个过滤 器。期间可能会涉及到HttpSession的同步,即同步SecurityContext对象,当web请求来 时,HttpSessionContextIntegrationFilter会从现在的HttpSession获得SecurityContext对 象,并设置到SecurityContextHolder中。如果不存在HttpSession,则直接构建一个全新的SecurityContext对 象,并将她设置到SecurityContextHolder中,当web请求即将离开 时,HttpSessionContextIntegrationFilter会检查SecurityContext对象是否被别人更新过,如果是,则同 步到HttpSession中。最后,这一过滤器总是会调用SecurityContextHolder的clearContext()方法,以复位 SecurityContextHolder的取值

LogoutFilter:负责完成已经登陆用户的退出操作

HttpRequestIntegraationFilter,X509ProcessingFilter,AuthenticationProcessingFilter,BasicProcessingFilter,DigestProcessingFilter,JbossIntgrationFilter,CasProcessingFilter: 是各种认证的具体过滤器

SecurotyContextHolderAwareRequestFilter:满足与JAVAEE兼容的过滤器,期间,她会采用 SavedRequestAwareWrapper包裹ServletRequest,从而兼容于标准的JAVAEE安全性编程模型,比如兼容 HttpServletRequest暴露的getRemoteUser(),getUserPrincipal()等JAVAEE安全行相关的方法

RememberMeProcessingFilter:

AnonymousProcessingFilter:

ExceptionRanslationFilter:这一Acegi过滤器用于捕捉异常信息

FilterSecurityInterceptor:这一过滤器用于web资源的授权

SwitchUserProcessingFilter:启用用户切换服务

 

 

 

参考:http://www.diybl.com/course/3_program/java/javashl/20090306/158653.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值