`
sunjiesh
  • 浏览: 99580 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics