Chinaunix首页 | 论坛 | 博客
  • 博客访问: 702634
  • 博文数量: 147
  • 博客积分: 6010
  • 博客等级: 准将
  • 技术积分: 1725
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-22 10:36
文章分类

全部博文(147)

文章存档

2011年(1)

2010年(1)

2009年(35)

2008年(110)

我的朋友

分类: Java

2008-12-24 14:37:28

 

<bean id="filterChainProxy" class="org.acegisecurity.util.FilterChainProxy">
      <property name="filterInvocationDefinitionSource">
         <value>
      CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
      PATTERN_TYPE_APACHE_ANT
          /**=channelProcessingFilter,concurrentSessionFilter,

   httpSessionContextIntegrationFilter,logoutFilter,

authenticationProcessingFilter,

securityContextHolderAwareRequestFilter,

rememberMeProcessingFilter,anonymousProcessingFilter,

exceptionTranslationFilter,filterInvocationInterceptor,

switchUserProcessingFilter
         </value>
      </property>
    </bean>

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:启用用户切换服务

 

阅读(1536) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~