cas 登陆超时 解决方案

时间:2021-09-01 10:56:34

在配置文件ticketExpirationPolicies.xml中配置:

<bean id="grantingTicketExpirationPolicy" class="org.jasig.cas.ticket.support.TicketGrantingTicketExpirationPolicy"
p:maxTimeToLiveInSeconds="${tgt.maxTimeToLiveInSeconds:28800}"  <!-- 生成开始计算的存在时间 ,超时则无效,需重登陆,单位秒 -->
p:timeToKillInSeconds="${tgt.timeToKillInSeconds:7200}"/>                   <!-- 鼠标静止计算的存在时间 ,超时则无效,需重登陆,单位秒 -->

注意:【1】上述CAS配置文件ticketExpirationPolicies.xml时间;

【2】具体web系统应用里的web.xml的session-timeout时间;

二者谁最大,按谁生效。

其他设置方法,供参考:

<!-- <bean id="grantingTicketExpirationPolicy" class="org.jasig.cas.ticket.support.NeverExpiresExpirationPolicy"></bean>-->
<!-- <bean id="grantingTicketExpirationPolicy" class="org.jasig.cas.ticket.support.TimeoutExpirationPolicy">
<constructor-arg index="0" value="15000" />
</bean> --> <!-- 单位是毫秒 -->
<!-- <bean id="grantingTicketExpirationPolicy" class="org.jasig.cas.ticket.support.HardTimeoutExpirationPolicy">
<constructor-arg index="0" value="5000" />
</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="5000"></constructor-arg>
</bean>
</property>
<property name="rememberMeExpirationPolicy">
<bean class="org.jasig.cas.ticket.support.TimeoutExpirationPolicy">
<constructor-arg index="0" value="5000"></constructor-arg> <!-- 单位是毫秒 -->   
</bean>
</property>
</bean>
--><!-- 单位是毫秒 -->

remenberMeExpirationPolicy 配置时间后,ticketGrantingTicketCookieGenerator.xml里也需要对应配置:

<bean id="ticketGrantingTicketCookieGenerator" class="org.jasig.cas.web.support.CookieRetrievingCookieGenerator"
p:cookieSecure="false"
p:cookieMaxAge="-1"
p:cookieName="CASTGC"
p:cookiePath="/cas"p:rememberMeMaxAge="2592000"

/>