3
我將c#中的身份驗證cookie設置爲持久性,並且從現在開始的一年結束日期,但設置後過期不會過長。代碼如下...c#.net - 身份驗證提前過期
DateTime endDate = new DateTime();
endDate = DateTime.Now.AddYears(1);
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1,
username,
DateTime.Now,
endDate,
true,
userId.ToString(),
FormsAuthentication.FormsCookiePath);
string encryptedTicket = FormsAuthentication.Encrypt(ticket);
HttpCookie authCookie = new HttpCookie(
FormsAuthentication.FormsCookieName,
encryptedTicket);
authCookie.Expires = endDate;
Response.Cookies.Add(authCookie);
任何想法?
當你說「不太長」時,你的意思是多久?您是否使用過像HttpWatch這樣的工具來調查是否不再發送cookie,或者表單身份驗證不再識別它? –
表單身份驗證在約30分鐘後無法識別該用戶登錄。我還沒有嘗試過使用HttpWatch,但我確實在Firefox中使用了一個視圖cookie添加,以確保cookie存在並被設置爲正確的截止日期。 我看到了兩個cookie,一個是.ASPXAUTH,有正確的截止日期,另一個ASP.NET_SessionId是「Session」作爲截止日期。 – Tija