我正在使用以下代码对用户进行身份验证,并试图使Cookie在3个月后过期:
var cookie = FormsAuthentication.GetAuthCookie(userDB.Email, true);
cookie.Expires = DateTime.Now.AddMonths(3);
var ticket = FormsAuthentication.Decrypt(cookie.Value);
var userData = "Some user data";
var newTicket = new FormsAuthenticationTicket(ticket.Version, ticket.Name,
ticket.IssueDate, ticket.Expiration, ticket.IsPersistent, userData);
cookie.Value = FormsAuthentication.Encrypt(newTicket);
Response.Cookies.Add(cookie);
为了检查用户是否仍然通过身份验证,我使用以下if
:
if (httpContext.User.Identity.IsAuthenticated)
但是,身份验证Cookie会在数小时/分钟后过期。
这是我的应用程序的cookie信息。看起来正确:
我想念什么?
编辑:
几个小时后,这是应用程序cookie的样子。 .ASPXAUTH cookie丢失: