- PR -

多重ログイン防止

1
投稿者投稿内容
7star
会議室デビュー日: 2004/09/02
投稿数: 3
お住まい・勤務地: Okinawa
投稿日時: 2004-09-02 20:28
初めて書き込みさせていただきます。今、StrutsでWebアプリケーションを作成しているのですが、多重ログインをさせたくない場合はどのように処理をさせればいいのでしょうか?

解決策を教えていただけないでしょうか?宜しくお願いいたします。

環境:Red Hat Linux9 + Tomcat4.1.24 + PostgreSQL7.3.4
raystar
ぬし
会議室デビュー日: 2003/01/16
投稿数: 251
お住まい・勤務地: Tokyo/Japan
投稿日時: 2004-09-02 22:04
こんばんわ。

DBを使用していますでしょうか。
ログイン情報を保存できるテーブルを作成し、
そこにUSRE_IDをぶちこみます。

login時に そのUSER_IDをテーブルに保存します。
この時点でフラグをたてたような形になり、
他のユーザがログインするときに、このテーブルをチェックするようにします。
もし、ログイン済みであれば、エラーページを表示させるようにしましょう。

また、ログアウトのときにログイン情報をけしてあげます。
ログアウトボタンでログアウトしない場合は、リクエストが送信されませんので
テーブルの情報を更新することはできませんが、
USER情報をセッションにいれておき、sessionリスナーを用意すれば、
セッションタイムアウトをイベントとして検地できますので
そのときに、該当ユーザのログイン情報を消去してあげればいいのではないでしょうか。
その場合、セッションがタイムアウトしない限り、再ログインはできませんが!

ご参考に。
7star
会議室デビュー日: 2004/09/02
投稿数: 3
お住まい・勤務地: Okinawa
投稿日時: 2004-09-02 22:15
ご回答ありがとうございます。一つだけ分からなかったことがありまして、セッションのタイムアウト時のイベントを検知するリスナーですが、HttpSessionListenerを使用するのでしょうか?

参考になるWebページとかあったら教えていただけないでしょうか?

山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2004-09-02 23:29
セッションの生成、タイムアウトのタイミングの検出はご認識の通り HttpSessionListener ですね。
トラブル予防のためにタイムアウト時間はなるべく短めに設定することをお勧めします。
#っていうか本当に必要な要件ですか?

HttpSessionListener の使い方についてはまず試してみてはいかがでしょうか?わからなければ焦点を明確にするため別スレッドを立てた方が良いでしょう。

[ メッセージ編集済み 編集者: インギ 編集日時 2004-09-02 23:30 ]
7star
会議室デビュー日: 2004/09/02
投稿数: 3
お住まい・勤務地: Okinawa
投稿日時: 2004-09-02 23:53
ご返答ありがとうございます。必要な要件ではないのですが付加した方がいいのではと思いまして。

作成して不明だった場合またご返答させていただきます。ご返答ありがとうございました。

1

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