SpringBootセッションでセッションタイムアウトを設定する方法

WBOY
リリース: 2023-05-15 14:37:06
転載
2091 人が閲覧しました

問題の発見

スプリングブート プロジェクトではセッションアウト タイムアウトの問題が発生します。問題の説明:

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  15
ログイン後にコピー

2. Web コンテナに設定 (ここでは例として Tomcat を使用します)

[html] view plain copy     30 
ログイン後にコピー

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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!