- - PR -
セッションを切断(破棄)したい
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-06-21 19:07
いつもお世話になっております。
早速質問させてください。 現在、ログイン画面よりSession.Add("OK", "1") などのようにログイン認証に通った場合はSessionに情報を追記しています。 メニュー画面よりログアウトした時にlogout.aspxにて以下のプログラムを 記述してます。 Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Session.Abandon() Response.Redirect(AppSettings("URL_LOGIN")) End Sub これで、ログイン画面には遷移しますが、遷移後ブラウザの「戻る」ボタンを 押下しても、メニュー画面が表示されてしまいます。 もちろん、メニュー画面ではセッションの中身をチェックし なければログイン画面に遷移するようにしています。 セッションの破棄の仕方が悪いのでしょうか? | ||||
|
投稿日時: 2005-06-21 19:48
サーバーはブラウザの「戻る」ボタンが押下されたことを認知できますか? | ||||
|
投稿日時: 2005-06-21 20:02
NAL-6295様レスありがとうございます。
サーバー側では判断できません。 PHPでならやりたい事は実現可能なんです。 <logout.php> // セッション開始 session_start(); // セッション破棄 session_destroy(); // ログイン画面へリダイレクト header("Location: MnuLogin.php"); これでブラウザの「戻る」ボタンをクリックしても ちゃんとログイン画面へ遷移します。 | ||||
|
投稿日時: 2005-06-21 21:13
サーバーが、クライアントに保存されているキャッシュを削除することはできますか?
しかし、クライアントにキャッシュさせないようにすることはできます。 戻るボタンって、結局クライアントが自分のキャッシュを表示しているんですよ。おそらく、「できている」んじゃなくて、クライアントがphpというか、CGIのページはキャッシュしないようにしているから、できているように"見えている"んだと思います。 [ メッセージ編集済み 編集者: Jitta 編集日時 2005-06-21 21:16 ] | ||||
|
投稿日時: 2005-06-21 23:16
Jitta様
レスありがとうございます。 確かにおっしゃる通りですね。 PHPではキャッシュさせないような設定にしております。 同じような事でASPでも Response.Expires = 0 Response.AddHeader "Pragma", "No-Cache" Response.AddHeader "Cache-Control", "No-Cache" と記述していますが、キャッシュされているようです。 皆様はどのようにしてキャッシュをさせないようにしていますか? また、通常。。。というか、ログイン、ログアウトの処理で メジャーな方法ってどのようなものがあるのでしょうか? | ||||
|
投稿日時: 2005-06-22 21:33
微妙に、痛い勘違いをしていますね。いや、最初に読んだときに気づかなかった私も私ですが。
> セッションの破棄の仕方が悪いのでしょうか? マニュアルをもう一度読み直しましょう。ん? > 現在、ログイン画面よりSession.Add("OK", "1") > などのようにログイン認証に通った場合はSessionに情報を追記しています。 むむ?どういう認証を使用している/どうやって認証をさせているのか、教えてください。 とはいえ、私が次に出てこられるのは翌日ですので、参考URLを 連載 プログラミングASP.NET 17回以降参照 _________________ |
1