首頁 > Java > java教程 > 主體

SpringBoot Session怎麼設定會話超時

WBOY
發布: 2023-05-15 14:37:06
轉載
2101 人瀏覽過

問題發現

springboot專案生產session-out逾時問題,描述下問題:

在測試環境透過改動application.yaml配置session-out,經過設定不同時間驗證session- out配置生效,於是直接設定了過期時間為8小時發佈到了生產環境。然而中午接到客戶反應項目過期時間設定較短,半小時不操作 就會話過期需要反覆登陸。

解決處理

開發環境:springboot專案內建Tomcat,所以專案中application.yaml設定session-out是生效的。

生產環境:生產環境發布是透過雲端服務(Docker K8s)透過Docker建構鏡像方式,然而基礎鏡像tomacat的web.xml中的session-out是設定的30分鐘。

解決想法:最終在Docker建置映像時,將修改後的web.xml放入DockerFile中,覆寫基礎映像原web.xml,再次建置映像成功取代原基礎映像的web.xml,問題最終得以解決。

seesion失效:從使用者登陸開始建立一個 session,當使用者停止操作時間大於session-out設定時間則會話過期。

1.在工程的web.xml中設定

[html] view plain copy<!-- 时间单位为分钟   -->  <session-config>
      <session-timeout>15</session-timeout></session-config>
登入後複製

2.在web容器中設定(此處以tomcat為例)

[html] view plain copy  <!-- ==================== Default Session Configuration ================= -->  
  <!-- You can set the default session timeout (in minutes) for all newly   -->  
  <!-- created sessions by modifying the value below.    -->  
	<session-config>  
        <session-timeout>30</session-timeout>  
	</session-config>
登入後複製

3.透過Java程式碼設定

session.setMaxInactiveInterval(30*60);//以秒为单位
登入後複製

4.springboot專案application.yaml設定

server:
   port: 8089
   session:
      timeout: 1800  #以秒为单位
登入後複製

5.將web.xml copy到DockerFile

COPY ./web.xml /opt/tpapp/tomcat/conf
登入後複製

以上是SpringBoot Session怎麼設定會話超時的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:yisu.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!