- - PR -
ASP.NETのクッキー有効期限
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-10-15 17:59
いつも拝見させていただいております。
ASP.NETのWebアプリで、ログイン画面でログイン処理を行った際にクッキーを作成し ブラウザを閉じた際に、ログイン時に作成したクッキーを削除しようとしています。 [ブラウザを閉じるとクッキーを破棄]は、どのようにすればよいのでしょうか? CGIやJavaScriptでは、クッキー作成時に有効期限(expires)を省略すれば 自動的にブラウザを閉じるとクッキーを破棄になると思うのですが ASP.NETでは有効期限(expires)の省略を認めていないと思います。 Window.closeなど、いろいろ試したのですがダメでした・・・。 ご指導願います。 | ||||
|
投稿日時: 2004-10-15 18:26
ASP.NETから設定するクッキーの有効期限は省略できたと思いますが。 認めていないという結論に達したのはなぜでしょうか。 | ||||
|
投稿日時: 2004-10-15 18:45
返信ありがとうございます。
省略ができないと思った理由は2つあります。 1つは、省略すると実際[C:\Documents and Settings\xxxx\Cookies](Win2000)に クッキーが作成されないことです。 もう1つは過去ログ(↓)で、同様の現象があったためです。 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=4074&forum=7&2 本当は省略できるのでしょうか? ソースは↓です。 Dim Cookie As HttpCookie = New HttpCookie("TEST") Cookie.Values.Add("CID", "ABC") Response.AppendCookie(Cookie) よろしくお願いいたします。 | ||||
|
投稿日時: 2004-10-15 19:02
いや、セッションクッキーがファイルに保存されたらそれはそれでびっくりな気がしますが…そうでもないです? | ||||
|
投稿日時: 2004-10-15 19:19
返信ありがとうございます。 さきほどのソースに「有効期限:永続的保存」の[Cookie.Expires = DateTime.MaxValue]を加えて Dim Cookie As HttpCookie = New HttpCookie("TEST") Cookie.Values.Add("CID", "ABC") Cookie.Expires = DateTime.MaxValue Response.AppendCookie(Cookie) とすると、[C:\Documents and Settings\xxxx\Cookies]に作成されます。 作成されたものをテキストエディタで開くと、「"CID", "ABC"」が書かれているので 作成したものだと思います・・・。 | ||||
|
投稿日時: 2004-10-15 19:47
セッションクッキーではないのですから当然ファイルに保存されないと困りますよね? セッションクッキーはブラウザを閉じると消える(というか、起動しているブラウザ内でのみ有効)なのですから、ファイルに保存されては困りますよね?(もちろん終了時にできるだけ確実に消すとかはできるかもしれませんが) 一度、できているというCGIやJavaScriptで作成したセッションクッキーが、本当にファイルに保存されているのか確かめてみたらどうでしょう? | ||||
|
投稿日時: 2004-10-15 20:07
申し訳ないです。
CGIとJavaScriptで試してみます。 自分はクッキーのこと、かなり勉強不足だったと思います。 もう少し勉強してみます。 |
1