標籤:ajax 非同步 easyui cas sso
最近使用CAS做單點認證服務時發現過大概二十分鐘後就發現凡是非同步方式重新整理頁面就無反應了(由於使用EasyUI架構,所以頁面重新整理基於ajax+div方式),剛開始一直認為是CAS服務端逾時的問題,查看了各個配置,網上也參考了許多文章,一直沒有解決,今天無意想起來是不是session到期了呢,因為單點登入用戶端沒有配置任何session有效時間長度,也就是說用戶端的session時間長度為tomcat預設時間長度(網上有人說Tomcat預設session有效期間為30分鐘,而現在發現的是大概20分鐘後就會出現用ajax無響應了,所以這個預設30分鐘有待實驗證實),開啟項目的web.xml檔案(JAVA項目),加上下邊代碼:
<session-config> <session-timeout>120</session-timeout></session-config>
120指的是2個小時,預設單位為分鐘,這裡120分鐘是為了跟CAS服務端保持一致,CAS服務端的預設身份有效時間長度為2個小時,代碼如下:
<!-- TicketGrantingTicketExpirationPolicy: Default as of 3.5 --> <!-- Provides both idle and hard timeouts, for instance 2 hour sliding window with an 8 hour max lifetime --> <bean id="grantingTicketExpirationPolicy" class="org.jasig.cas.ticket.support.TicketGrantingTicketExpirationPolicy" p:maxTimeToLiveInSeconds="${tgt.maxTimeToLiveInSeconds:28800}" p:timeToKillInSeconds="${tgt.timeToKillInSeconds:7200}"/>
該配置位於WEB-INF/spring-configuration/ticketExpirationPolicies.xml中,timeToKillInSeconds為非活動有效時間長度,單位:秒。
CAS單點登入之AJAX頁面重新整理無反應(302 Moved Temporarily)