- PR -

Form認証のクッキーのtimeoutについて

1
投稿者投稿内容
まさお
常連さん
会議室デビュー日: 2007/11/06
投稿数: 38
投稿日時: 2008-11-01 00:15
お世話になります。

VS2005(Ajax)にてWebアプリケーションを作成しています。

Form認証時のクッキーの有効期限についてなんですが、

Web.configにて、

<forms name="namae" loginUrl="login.aspx" protection="All" path="/" defaultUrl="TopPage.aspx" timeout="1/>

としたとします。(有効期限1分)

ログイン画面にて、
FormsAuthentication.RedirectFromLoginPage(UserID, True)
とした場合、RedirectFromLoginPageの第2引数がTrueの為、
クッキーの有効期限が50年となると
http://www.atmarkit.co.jp/fdotnet/aspnet/aspnet19/aspnet19_01.html
ここに書いてあるのですが、1分経つとログイン画面に戻ってしまいます。
また、falseを設定した場合、セッションクッキーとなって、
forms要素のtimeoutではなく、セッションのタイムアウト時間で切れるのですよね?

イマイチ理解できません。どなたかご教授ください。


なちゃ
ぬし
会議室デビュー日: 2003/06/11
投稿数: 872
投稿日時: 2008-11-01 11:18
引用:

まさおさんの書き込み (2008-11-01 00:15) より:
FormsAuthentication.RedirectFromLoginPage(UserID, True)
とした場合、RedirectFromLoginPageの第2引数がTrueの為、
クッキーの有効期限が50年となると
http://www.atmarkit.co.jp/fdotnet/aspnet/aspnet19/aspnet19_01.html
ここに書いてあるのですが、1分経つとログイン画面に戻ってしまいます。
また、falseを設定した場合、セッションクッキーとなって、
forms要素のtimeoutではなく、セッションのタイムアウト時間で切れるのですよね?


クッキーの保持有効期限が50年になるだけで、チケット自体の有効期限は構成ファイルで指定した期限のままです。
でないと困りますよね?

--追記
この動作はASP.NET1.1→ASP.NET2.0で変わってますね。

----MSDNのtimeout属性の「メモ」から引用
ASP.NET V1.1 の場合、永続的な Cookie は timeout 属性の設定に関係なくタイムアウトしません。一方、ASP.NET V2.0 の場合、永続的な Cookie は timeout 属性に従ってタイムアウトします。
----


[ メッセージ編集済み 編集者: なちゃ 編集日時 2008-11-01 11:23 ]
1

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