我想知道是否有一種方法可以設置.NET應用程序來設置和更新瀏覽器中aspxauth和asp.net_sessionid cookie的過期時間?在aspxauth和asp.net_sessionid cookies上設置/更新過期
根據我所看到的,cookie的過期日期與1/1/0001類似,告訴瀏覽器在瀏覽器關閉前保留它們(我已經使用Chrome觀察過)。我想設置一個明確的時間,但是,我將需要在每次請求時更新那個時間。
我試圖與像一些代碼來做到這一點:
var timeoutMins = Session.Timeout;
if (Response.Cookies.Count > 0)
{
foreach (string s in Response.Cookies.AllKeys)
{
if (s == FormsAuthentication.FormsCookieName || s.ToLower() == "asp.net_sessionid")
{
Response.Cookies[s].Expires = DateTime.Now.AddMinutes(timeoutMins);
}
}
}
我試圖在Global.asax END_REQUEST事件這樣做,雖然這似乎不是一個好地方,因爲它閃光幾次每頁,你沒有訪問sessionstate超時;進一步它只在登錄和註銷觸發,所以基本上我可以設置一次,但我永遠不會更新它。這會導致我的用戶在登錄後15分鐘內被註銷,即使它們已被激活。
這似乎將有一些設置告訴.NET來處理這個?我知道這是一個奇怪的請求,但它是這個項目的安全要求,所以我試圖讓它工作!