ブラウザを閉じたときにFormsAuthenticationのCookieを期限切れにしたい。 (PHPセッションと同じように機能させたい)
これがモデル(コントローラーではない)にある私の認証コードです。
Models / Auth.cs
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(
1,
model.UserId,
DateTime.Now,
DateTime.Now.AddDays(1),
true,
model.UserId +" "+reader["lastname"],
FormsAuthentication.FormsCookiePath);
string hash = FormsAuthentication.Encrypt(ticket);
HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, hash);
if (ticket.IsPersistent)
{
cookie.Expires = ticket.Expiration;
}
HttpContext.Current.Response.Cookies.Add(cookie);
Web.config
<authentication mode="Forms">
<forms name="user" timeout="60" loginUrl="~/Auth/login" path="/"></forms>
</authentication>
<authorization>
<deny users="?" />
</authorization>
そしてもう1つの質問は、Cookieのタイムアウトを2回設定することです。
チケットで、
DateTime.Now.AddDays(1),
およびWeb.configファイルの認証
<forms name="user" timeout="60" loginUrl="~/Auth/login" path="/"></forms>
それらはどのように異なり、実際の期限切れCookieに影響を与えるのはどれですか?
誰もが知っている、私に教えてください。
ありがとうございました!