CAS RememberMe機能実現

2950 ワード

1.cas-servlet.xml 
  <!-- 20090220 rememberMe start -->
  <!--
  <bean id="authenticationViaFormAction" class="org.jasig.cas.web.flow.AuthenticationViaFormAction"
    p:centralAuthenticationService-ref="centralAuthenticationService"
    p:warnCookieGenerator-ref="warnCookieGenerator" />
  -->
  <bean id="authenticationViaFormAction" class="org.jasig.cas.web.flow.AuthenticationViaFormAction"
    p:centralAuthenticationService-ref="centralAuthenticationService"
    p:formObjectClass="org.jasig.cas.authentication.principal.RememberMeUsernamePasswordCredentials"
    p:formObjectName="credentials"
    p:validator-ref="UsernamePasswordCredentialsValidator"
    p:warnCookieGenerator-ref="warnCookieGenerator" />


  <!-- 20090220 rememberMe end -->


2.deployerConfigContext.xml 
<bean id="authenticationManager"
  class="org.jasig.cas.authentication.AuthenticationManagerImpl">
 
<property name="authenticationMetaDataPopulators">
 <list>
  <bean class="org.jasig.cas.authentication.principal.RememberMeAuthenticationMetaDataPopulator" />
 </list>
</property>


3.ticketExpirationPolicies.xml 
    <!-- 20090220 rememberMe start -->
    <!--
 <bean id="grantingTicketExpirationPolicy" class="org.jasig.cas.ticket.support.TimeoutExpirationPolicy"> -->
  <!-- This argument is the time a ticket can exist before its considered expired.  --><!--
  <constructor-arg
   index="0"
   value="7200000" />
 </bean>
    -->
    <bean id="grantingTicketExpirationPolicy" class="org.jasig.cas.ticket.support.RememberMeDelegatingExpirationPolicy">
      <property name="sessionExpirationPolicy">
        <bean class="org.jasig.cas.ticket.support.TimeoutExpirationPolicy">
           <constructor-arg index="0" value="7200000" />
        </bean>
      </property>
      <property name="rememberMeExpirationPolicy">
        <bean class="org.jasig.cas.ticket.support.TimeoutExpirationPolicy">
           <constructor-arg index="0" value="720000" />
        </bean>
      </property>
    </bean>
    <!-- 20090220 rememberMe start -->


4. 
<input type="checkbox" name="rememberMe" id="rememberMe" value="true" tabindex="4" /><label for="rememberMe">Remember Me</label>