我已經將cookie過期時間設置爲1個月,但是當我在瀏覽器中查看.ASPXAUTH cookie的過期超時時,它表示從現在開始提前30分鐘。ASPX授權cookie過期時間總是30分鐘
var ticket = new FormsAuthenticationTicket(1, "myname", DateTime.Now,
DateTime.Now.AddMonths(1), true, "test");
string ticketString = FormsAuthentication.Encrypt(ticket);
var cookie = new HttpCookie(FormsAuthentication.FormsCookieName, ticketString)
{
Expires = DateTime.Now.AddMonths(1),
Path = FormsAuthentication.FormsCookiePath
};
HttpContext.Current.Response.Cookies.Add(cookie);
你能讓我知道爲什麼上面的代碼表現如此,我想改變過期時間,但它總是會在30分鐘後到來。
你在哪裏指定了1個月? – V4Vendetta 2012-03-27 12:22:57
您是否有任何理由手動創建身份驗證票證?如果您自動執行此操作,則可以通過web.config處理到期時間。 – 2012-03-27 12:28:12
V4Vendetta他確實在這裏: 「DateTime.Now.AddMonths(1)」 落基辛格,你檢查slidingExpiration = 「假」 的屬性? 我猜你沒有把它指定爲false或者它不存在。 在這種情況下,每個請求重置期滿Web.Config中 – 2012-03-27 12:30:57