私はHttpSessionListenerを持っています。 web.xmlで設定さsession-timeout
が セッションタイムアウトとセッションの明示的(プログラムによる)無効化を区別する
- :方法は、以下の場合を区別するために、そのsessionDestroyedメソッドの内部で、そこにありますHttpSession#invalidate
私のユースケースは、私はアプリケーションの数との間に(SSO)の配置シングルサインオンを持っているということで、SSOの配置に参加するアプリケーションのいずれかが明示的にログオフではなく、ときに私は、グローバルなシングルサインオンをオフにしたいですそれがセッションがタイムアウトするため、2つのケースを区別する必要があります。私は、アプリケーションがHttpSession#invalidateを呼び出す直前にセッションオブジェクトにフラグを設定する方法があると思います。 HttpSessionListenerはセッションオブジェクトを検査し、そのフラグが見つかった場合、これはプログラムによるログアウトであることがわかります。そうでなければ、コンテナのログアウトでした。それは理にかなっていますか、より良い方法がありますか?