HttpSessionListenerクラスに関して
(1)
セッションタイムアウト時にHttpSessionListenerを呼ぶ場合、
セッションタイムアウトエラー画面に遷移させたいのですが、
RequestDispatcher rd = sc.getRequestDispatcher("/jsp/error3.jsp");
rd.forward( request, response );
が使えないため困っております。
他に何かやり方があるのでしょうか?
教えて下さい。
(2)
多重ログイン防止のために、ログイン時にログインしたユーザーはフラグを変更させてログイン中と判定しようと考えているのですが、ログアウト時はフラグを戻せばいいかと思いますが
セッションタイムアウト時は、どのユーザーがログインしていたか分からなくなってしまうため
フラグを変更できず、永遠にログイン状態になってしまうのではないかと思い困っています。
多重ログイン防止する方法を教えて下さい。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
> (1)に関しては、セッションタイムアウト時に即座に遷移する方法を考えています。
であれば、画面からサーバへ逐一リクエスを投げてセッションがタイムアウトしているか問い合わせる仕組みが必要です。実装はJavaScriptになります。
サーバからクライアントへのメッセージポスト方法は、Webアプリケーションではありません。
>(2)に関しては、セッションにログイン情報を保持していればできると言う事ですか。
>ログイン情報を保持しているのですが、後からログインして来た方をログインさせて、先にログインしている方をログアウトさせる方法が分かりません。
ログイン情報はどこに保持してあるのですか?
多重ログインでそのような処理を実装しようとすれば、セッション情報をコンテナやDBなりで管理する必要がありそうです。
No.2
- 回答日時:
(1)
エラー画面への遷移をするのは
HttpSessionListenerではなく
web.xmlにまかせればいいのよ。
SessionTimeoutExceptionとか作ればいいわ。
もっともServletContextのインスタンスは取得可能だけど。
(2)
そのユーザー情報とフラグはどこに保持するの?
まずはそれを決めなくちゃね。
そもそもユーザー情報が存在しているってことは
ログイン中だとすればいいんじゃないかしら?
この回答への補足
回答ありがとうございます。
(1)に関しては、web.xmlにまかせる方法を調査したいと思います。
(2)に関しては、DBかsessionでログイン情報を保持していれば良いということですよね。
No.1
- 回答日時:
(1) HttpSessionListener#sessionDestroyed は、セッションが無効になった際に呼び出されるメソッドで、HTTPのレスポンスとは無関係なので使い方が間違っています。
セッションタイムアウト時に即座に遷移するのか、リクエスト時にセッションが無効になっているか判定して遷移するかによって、やり方は変わってきます。
(2) は、意味が分かりません。
ログイン時に、セッションにログイン情報を持っていれば HttpSessionListener#sessionDestroyed を使えば実現できるはずです。
この回答への補足
回答ありごとうございます。
(1)に関しては、セッションタイムアウト時に即座に遷移する方法を考えています。
(2)に関しては、セッションにログイン情報を保持していればできると言う事ですか。
ログイン情報を保持しているのですが、後からログインして来た方をログインさせて、先にログインしている方をログアウトさせる方法が分かりません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux Ubuntu on Xorgのログインについて 2 2023/08/10 15:16
- PHP 「ログイン機能を持たせる」説明が気難しいです。 2 2022/10/11 02:59
- その他(セキュリティ) アカウントの乗っ取りで質問です。長いです。 先月ツイッターの乗っ取りにあい、アカウントを全て新しくし 2 2022/03/25 20:47
- 銀行・ネットバンキング・信用金庫 楽天銀行 ワンタイムキーが届かない 2 2022/06/09 22:11
- その他(セキュリティ) PCとスマホのクラッキング、ハッキングに困っています 2 2022/10/09 22:36
- LINE LINEの不正ログインについて パソコン等からのログインは拒否設定していますが、万が一スマホから不正 1 2023/06/18 12:49
- docomo(ドコモ) dポイントのログインってなぜあんなにエラーが出るのですか? すぐ勝手にログアウトされていて、ログイン 7 2023/05/18 19:52
- Chrome(クローム) Google Chrome の同期が必ず一時停止になってしまい困っています。 GoogleChrom 2 2023/02/04 16:45
- Google+ 自分のGoogleアカウントに兄が勝手に ログインしてきます、使ってる機種を確認したら Macだった 1 2023/03/08 17:56
- PHP ログインした掲示板ですが、直接開かないような設計するには? 2 2022/10/29 16:30
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
javascriptでのログアウトボタン
-
グローバルIPアドレスの変更タ...
-
ブラウザバック禁止
-
セッションの情報の消去について
-
エクリプスを使ってのセッショ...
-
XMLHTTPを使って、セッションID...
-
HttpSessionListenerクラスに関...
-
javascriptでセッションを取得
-
フォーム上で押されたボタンに...
-
腕時計の時報をならないように...
-
C言語で今まで表示していた画面...
-
リクエストに応じたselectedの...
-
jspでbeanを使いたいのです...
-
ボタンが活性化の場合とは、ボ...
-
strutsで、JSP→アクションクラ...
-
VC++にて、コンソールを二画面表示
-
VB6 開発環境のエディタに行...
-
ActiveReportのDataSourceについて
-
三菱GOTの画面切り替えについて
-
Javascriptのhistory.back()が...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
javascriptでセッションを取得
-
グローバルIPアドレスの変更タ...
-
javascriptでセッションの削除...
-
エラーページ遷移後に入力値を残す
-
JSPでsession変数が勝手に書き...
-
ASP Session変数名の取得
-
sessionスコープとapplication...
-
画面遷移でセッション切れにな...
-
ASP.NETのGlobal.asaxについて
-
セッションタイムアウト時にエ...
-
Tomcatでの同一セッション同時...
-
javascriptでのログアウトボタン
-
jsessionidの有効期限を延長す...
-
セッションタイムアウトの設定...
-
setAttribute getAttribute 配...
-
セッションIDの桁数
-
JSPでブラウザ終了時にPostgreS...
-
JSP + ラジオボタン
-
HttpSessionListenerクラスに関...
-
複数Webサーバーでのセッション...
おすすめ情報