- PR -

タイムアウトについて

投稿者投稿内容
Pucci
会議室デビュー日: 2008/10/28
投稿数: 10
投稿日時: 2009-01-26 14:48
Struts1.2で、ログイン画面を作成し
タイムアウトの確認をしています。

idとpwでログインしたらトップ画面が現れ、メニューボタンを表示します。

メニューボタンを押下した場合は、タイムアウト画面に遷移してくれるのですが
インターネットブラウザの更新ボタンを押したら、再ログインしてしまいます。
設定ファイル等で回避できるものでしょうか?
ご教授ください。
mio
ぬし
会議室デビュー日: 2005/08/25
投稿数: 734
お住まい・勤務地: 神奈川県
投稿日時: 2009-01-26 15:58
まずは、なぜログインしてしまうのかを考えるべきでは…。
shimix
ぬし
会議室デビュー日: 2004/08/05
投稿数: 512
お住まい・勤務地: 大分市
投稿日時: 2009-01-26 16:01
引用:

Pucciさんの書き込み (2009-01-26 14:48) より:
idとpwでログインしたらトップ画面が現れ、メニューボタンを表示します。


HTTPのやりとりは追いかけてますか?locationヘッダなどで画面遷移しているのでなければ更新ボタンを押すと再POSTしてログインのやり直しになると思いますが、再POSTの警告などは表示されませんでしたか?
Pucci
会議室デビュー日: 2008/10/28
投稿数: 10
投稿日時: 2009-01-26 16:17
shimixさん

おっしゃる通り下記、警告が出ています。
情報を再送信しないと、ページを更新できません。
[再試行]をクリックして情報を送信するか。
[キャンセル]をクリックして表示しようとしていたページに戻ってください。

警告と、フォームの情報を調査しています。
フォームがpost送信なので、getでも試行してみます。


[ メッセージ編集済み 編集者: Pucci 編集日時 2009-01-26 16:19 ]
Pucci
会議室デビュー日: 2008/10/28
投稿数: 10
投稿日時: 2009-01-27 15:34
metaタグや、フォーム送信にget属性にしても
警告が出てしまいました。
どういった仕組みなのでしょうか?
ご教授ください。

metaタグ
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="Expires" content="0">
mio
ぬし
会議室デビュー日: 2005/08/25
投稿数: 734
お住まい・勤務地: 神奈川県
投稿日時: 2009-01-27 17:26
ログインしたあとに、リダイレクトしたらどうでしょう。
あすか
ぬし
会議室デビュー日: 2006/07/12
投稿数: 309
投稿日時: 2009-01-27 17:54
ブラウザの更新ボタンは
前回のブラウザからサーバへのリクエストを再度行うと言う意味です。
前回のリクエストがログインを行おうとするものならば
GETだとうがPOSTだろうがなんだろうが
ブラウザの更新ボタンの処理はログインを行おうとします。

それを防ぐためによくあるケースとして
・ログアウト後リダイレクト等で強引に別画面に遷移させる
・ログイン時にwindow.openで画面を開き、終了時にcloseする
他にもいくつか方法はありますけどこんなのが良く見られる処理です。

shimix
ぬし
会議室デビュー日: 2004/08/05
投稿数: 512
お住まい・勤務地: 大分市
投稿日時: 2009-01-27 21:09
前回、
引用:

shimixさんの書き込み (2009-01-26 16:01) より:
locationヘッダなどで画面遷移しているのでなければ更新ボタンを押すと


と書いたとおりですね。普通はチェックOKで別画面(URL)に遷移させるようにします。

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