web-dev-qa-db-ja.com

デフォルトのセッションタイムアウトとは何ですか?また、RedisでバックエンドとしてSpringセッションを使用する場合の設定方法

私のアプリケーションは現在、バックエンドとしてRedisと一緒に Spring Session を使用しています。

Spring Sessionの 公式ドキュメント を検索しましたが、そのモジュールを使用したときのデフォルトのセッションタイムアウトを見つけることができませんでした。

また、必要に応じてデフォルトのタイムアウトを変更する方法がわかりません。

誰かがアドバイスしてもらえますか?

15
balteo

Redisリポジトリを使用するときにセッションタイムアウトを設定する最も簡単な方法は

_@EnableRedisHttpSession(maxInactiveIntervalInSeconds = 60)
_

セッションは、リポジトリで使用できなくなると期限切れになります。タイムアウトは、RedisOperationsSessionRepositoryMapSessionRepositoryの両方でsetDefaultMaxInactiveInterval(int)を使用して設定できます。デフォルト値はです。

スプリングブートを使用している場合、バージョン1.3以降、アプリケーション構成の_server.session.timeout_プロパティと値が自動的に同期されます。

Springセッションを使用する場合の欠点の1つは、_javax.servlet.http.HttpSessionListener_ sが呼び出されないことに注意してください。

セッション有効期限イベントに対応する必要がある場合は、SpringアプリケーションのSessionDestroyedEventアプリケーションイベントにサブスクライブできます。

26
tsachev

server.session.timeoutは廃止され、Spring Boot 2.0ではserver.servlet.session.timeoutに置き換えられました。

2
Fedor