<bean id="daoAuthenticationProvider" class="org.acegisecurity.providers.dao.DaoAuthenticationProvider">
      <property name="userDetailsService"><ref local="jdbcDaoImpl"/></property>
      <property name="passwordEncoder"> <ref local="passwordEncoder" /> </property>
      <!--property name="userCache"><ref local="userCache"/></property-->
  </bean>
   <bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"/>
    
   <bean id="userCacheBackend" class="org.springframework.cache.ehcache.EhCacheFactoryBean">
      <property name="cacheManager">
         <ref local="cacheManager"/>
      </property>
      <property name="cacheName">
         <value>userCache</value>
      </property>
   </bean>
   
   <bean id="userCache" class="org.acegisecurity.providers.dao.cache.EhCacheBasedUserCache">
      <property name="cache"><ref local="userCacheBackend"/></property>
   </bean>   <!-- Automatically receives AuthenticationEvent messages from DaoAuthenticationProvider -->
 
   <bean id="loggerListener" class="org.acegisecurity.event.authentication.LoggerListener"/>   <bean id="basicProcessingFilter" class="org.acegisecurity.ui.basicauth.BasicProcessingFilter">
      <property name="authenticationManager"><ref local="authenticationManager"/></property>
      <property name="authenticationEntryPoint"><ref local="basicProcessingFilterEntryPoint"/></property>
   </bean>   <bean id="basicProcessingFilterEntryPoint" class="org.acegisecurity.ui.basicauth.BasicProcessingFilterEntryPoint">
      <property name="realmName"><value>Contacts Realm</value></property>
   </bean>   <bean id="anonymousProcessingFilter" class="org.acegisecurity.providers.anonymous.AnonymousProcessingFilter">
      <property name="key"><value>foobar</value></property>
      <property name="userAttribute"><value>anonymousUser,ROLE_ANYBODY</value></property>
   </bean>
<!-- ROLE_ANONYMOUS rolePrefix -->
   <bean id="anonymousAuthenticationProvider" class="org.acegisecurity.providers.anonymous.AnonymousAuthenticationProvider">
      <property name="key"><value>foobar</value></property>
   </bean>   <bean id="httpSessionContextIntegrationFilter" class="org.acegisecurity.context.HttpSessionContextIntegrationFilter">
      <!--property name="context"><value>org.acegisecurity.context.SecurityContextImpl</value></property-->
      <property name="context"><value>org.acegisecurity.captcha.CaptchaSecurityContextImpl</value></property>
   </bean>   <bean id="rememberMeProcessingFilter" class="org.acegisecurity.ui.rememberme.RememberMeProcessingFilter">
      <property name="authenticationManager"><ref local="authenticationManager"/></property>
      <property name="rememberMeServices"><ref local="rememberMeServices"/></property>
   </bean>   <bean id="rememberMeServices" class="org.acegisecurity.ui.rememberme.TokenBasedRememberMeServices">
      <property name="userDetailsService"><ref local="jdbcDaoImpl"/></property>
      <property name="key"><value>springRocks</value></property>
   </bean>
   
   <bean id="rememberMeAuthenticationProvider" class="org.acegisecurity.providers.rememberme.RememberMeAuthenticationProvider">
      <property name="key"><value>springRocks</value></property>
   </bean>
   <bean id="logoutFilter" class="org.acegisecurity.ui.logout.LogoutFilter">
      <constructor-arg value="/index.jsp"/> <!-- URL redirected to after logout -->
      <constructor-arg>
         <list>
              <ref bean="rememberMeServices"/>
              <bean class="org.acegisecurity.ui.logout.SecurityContextLogoutHandler"/>
         </list>
      </constructor-arg>
   </bean>
   <bean id="securityContextHolderAwareRequestFilter" class="org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter"/>      <!-- ===================== HTTP REQUEST SECURITY ==================== -->   <bean id="exceptionTranslationFilter" class="org.acegisecurity.ui.ExceptionTranslationFilter">
      <property name="authenticationEntryPoint"><ref local="authenticationProcessingFilterEntryPoint"/></property>
      <property name="accessDeniedHandler">
       <bean class="org.acegisecurity.ui.AccessDeniedHandlerImpl">
       <property name="errorPage" value="/accessDenied.vm"/>
       </bean>
      </property>
   </bean>   <bean id="authenticationProcessingFilter" class="cn.bidlink.ac.acegi.EPSAuthenticationProcessingFilter">
      <property name="authenticationManager"><ref bean="authenticationManager"/></property>
      <property name="authenticationFailureUrl"><value>/login.jsp?login_error=1</value></property>
      <!-- <property name="defaultTargetUrl"><value>/index.jsp</value></property> -->
  <property name="defaultTargetUrl"><value>/showMenuManager.view?orgTask=organization_main</value></property>
      <property name="filterProcessesUrl"><value>/j_acegi_security_check</value></property>
      <property name="rememberMeServices"><ref local="rememberMeServices"/></property>
   </bean>   <bean id="authenticationProcessingFilterEntryPoint" class="org.acegisecurity.ui.webapp.AuthenticationProcessingFilterEntryPoint">
      <property name="loginFormUrl"><value>/login.jsp</value></property>
      <property name="forceHttps"><value>false</value></property>
   </bean>   <bean id="httpRequestAccessDecisionManager" class="org.acegisecurity.vote.AffirmativeBased">
      <property name="allowIfAllAbstainDecisions"><value>false</value></property>
      <property name="decisionVoters">
         <list>
            <ref bean="roleVoter"/>
            <ref bean="noprefixVoter"/>
         </list>
      </property>
   </bean>   <bean id="filterInvocationInterceptor" class="org.acegisecurity.intercept.web.FilterSecurityInterceptor">
      <property name="authenticationManager"><ref bean="authenticationManager"/></property>
      <property name="accessDecisionManager"><ref local="httpRequestAccessDecisionManager"/></property>
      <!--
      <property name="objectDefinitionSource">
<ref local="xmlFilterInvocationDefinitionSource"/>
      </property>
      -->
      <property name="objectDefinitionSource">
<ref local="dbFilterInvocationDefinitionSource"/>
      </property>   </bean>
<!--   
   <bean id = "xmlFilterInvocationDefinitionSource" class="cn.bidlink.ac.acegi.XMLFilterInvocationDefinitionSource">
    <property name="securityConfigManager"><ref local="securityConfigManager"/></property>
   </bean>
   <bean id="securityConfigManager" class="cn.bidlink.ac.SecurityConfigManager"/>
-->   <bean id = "dbFilterInvocationDefinitionSource" class="cn.bidlink.ac.acegi.DBFilterInvocationDefinitionSource">
    <property name="securityConfigManager"><ref bean="securityConfigDBManager"/></property>
   </bean>
   
   <!--bean id="switchUserProcessingFilter"
   class="org.acegisecurity.ui.switchuser.SwitchUserProcessingFilter"-->
   <bean id="switchUserProcessingFilter" class="cn.bidlink.ac.acegi.EPSSwitchUserProcessingFilter">
     <property name="userDetailsService" ref="jdbcDaoImpl" />
  <property name="switchUserUrl"><value>/j_acegi_switch_user</value></property>
  <property name="exitUserUrl"><value>/j_acegi_exit_user</value></property>
  <property name="targetUrl"><value>/showMenuManager.view?orgTask=organization_main</value></property>
   </bean>  
</beans>