全部博文(147)
分类: Java
2008-12-24 14:37:28
|
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:启用用户切换服务