- PR -

セッションタイムアウトについて

1
投稿者投稿内容
たかたか
会議室デビュー日: 2006/03/08
投稿数: 1
投稿日時: 2006-03-08 18:38
はじめて投稿させていただきます。

現在行っている仕事でログアウト処理を実装することになりました。

セッションタイムアウトでセッションが切れた場合、
DBのログイン状態フラグを更新したいのですが、
セッションが切れているため、セッションに格納したユーザの情報(ユーザID)が
取得できず、ログイン状態フラグを更新するユーザが特定できません。

このような場合、どのようにして対応すればよろしいのでしょうか?
説明の足りない部分があったらすみません。。。
K
大ベテラン
会議室デビュー日: 2004/04/07
投稿数: 174
投稿日時: 2006-03-08 19:18
実際にやったことはないのですが、下記を使用してなんとかならないでしょうか?
HttpSessionBindingListener
http://java.sun.com/j2ee/sdk_1.3/ja/techdocs/api/javax/servlet/http/HttpSessionBindingListener.html
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2006-03-09 03:07
またはHttpSessionListenerですね。こちらだとログイン時にbeanをセットしておかなくても済みます。
http://java.sun.com/j2ee/sdk_1.3/ja/techdocs/api/javax/servlet/http/HttpSessionListener.html

ただ、ログイン状態をデータベースに記録って運用時に問題になるかもしれないので気をつけてください。
クラッシュして再起動したらログイン中のままになってるとか・・・。

通常ログインしているかどうかは getUserPrincipal() が null を返すかどうかで判定できる筈です。
http://java.sun.com/j2ee/sdk_1.3/ja/techdocs/api/javax/servlet/http/HttpServletRequest.html#getUserPrincipal()
1

スキルアップ/キャリアアップ(JOB@IT)