私はASP.NET MVCを使用しており、サイトに戻ったときに誰かが自動的にログインできるようにしたい(このサイトとまったく同じ方法で)。永続的なクッキーの有効期限がasp.net mvcのSessionに設定されていますか?
次のようにIでユーザーが最初に登録するか、ログがクッキーを設定します。
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(
1,
"playerid",
DateTime.Now,
DateTime.Now.AddMinutes(1), //This will be set to a longer period in live...
true,
Username + "|" + item.PlayerID.ToString(),
FormsAuthentication.FormsCookiePath);
string encTicket = FormsAuthentication.Encrypt(ticket);
Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, encTicket));
私はユーザーとしてログインすることによってこれをテストしてからFirebug
にCookies
タブを見れば、その後の有効期限が設定されていますSession
になります。私はブラウザを閉じて私のサイトに戻っても、私はもはやログインしていません。これは、ブラウザが閉じられたときにセッションが終了すると私が期待しているものです。
ログインしてサイトをナビゲートすると、1分後に有効期限がSession
として表示されなくなりますが、実際の日付スタンプとして表示されます。
要約すれば、有効期限がSession
に設定されているように見えますが、実際の有効期限が過ぎてから(t + 1分以内に)このケース)と私はサイト上でアクティブになっています(私はスライド有効期限を使用しています)。
FormsAuthenticationチケットに記載されているものに有効期限を設定する方法はありますか(Session
として表示されません)。
うわー:あなたはFirebugのを見たときに今、あなたはクッキーは永続的なものとブラウザを生き残るたクッキーが放出されたときに
Expires
プロパティは、将来的に設定されているが、再起動することがわかります!それは完全に機能します。私はこのサイトが大好き!ありがとうDarin –クッキーとチケットの違いを理解するのを助けるために、これは簡単な見解の価値があります。http://support.microsoft.com/kb/910443?wa=wsignin1.0 –
リンクをありがとう。それは私がそれをより良く理解するのに役立ちます。 –