スプリングブート プロジェクトではセッションアウト タイムアウトの問題が発生します。問題の説明:
application.yaml を変更してテスト環境でセッションアウトを構成し、セッションを確認します。 out 設定が有効になったため、有効期限が直接 8 時間に設定され、運用環境にリリースされました。しかし、正午にお客様から、プロジェクトの有効期限が短く設定されているため、30分操作がないとセッションが期限切れになり、再度ログインが必要になるというフィードバックをいただきました。
開発環境: springboot プロジェクトには Tomcat が組み込まれているため、プロジェクト内の application.yaml で設定されたセッションアウトが有効です。
本番環境: 本番環境はクラウドサービス(Docker K8s)とDockerを利用してイメージを構築しますが、基本イメージtomacatのweb.xmlのセッションアウトは30分に設定されています。
解決策: 最後に、Docker がイメージをビルドするときに、変更した web.xml を DockerFile に配置し、ベース イメージの元の web.xml を上書きし、イメージを再度ビルドして、イメージの web.xml を正常に置き換えます。元のベースイメージ 問題 最終的には解決されました。
セッションの無効化: ユーザーがログインした時点からセッションを作成します。ユーザーがセッションアウト設定時間を超えて操作を停止すると、セッションは期限切れになります。
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 を DockerFile にコピー
COPY ./web.xml /opt/tpapp/tomcat/conf
以上がSpringBootセッションでセッションタイムアウトを設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。