0

Tomcat セッションの有効期限が切れたときに、以前にログインしていたユーザーを特定し、ログイン ページを表示せずに自動的にログインを処理したいと考えています。

これは私が考えていることです:

  1. ログイン時に、ユーザー名をセッション ID (からHttpsSession.getId()) とともにアプリケーション変数に格納します。
  2. 有効なセッションがない状態で接続が開始された場合はHttpServletRequest.getRequestedSessionId()、以前のセッション ID を取得するために使用します。
  3. 以前のセッション ID があった場合は、保存されているリストと照合します。見つかった場合は、関連付けられたユーザーのログインを処理します。

これで期限切れのセッションのデータが復活しないことはわかっていますが、それは問題ありません。知りたいのはユーザー名だけです。

これは合理的なアプローチですか?または、これを行うよりクリーンな方法はありますか?

4

1 に答える 1

0

org.apache.catalina.session.PersistentManagerおそらく、アイドル セッションを永続的なストレージ (ディスク/データベース) にスワップできるTomcat を利用することができます。そうすれば、実行時間の長いセッションがメモリ内でぶらぶらすることを心配することなく、セッションの有効期限をより長くすることができます。http://tomcat.apache.org/tomcat-7.0-doc/config/manager.htmlを参照してください。

于 2013-05-16T20:39:01.100 に答える