实际上在我的 asp.net 应用程序中使用 FormAuthentication Cookie,并将 authenticationCookie 设置为 30 天,但在 IIS Forms Authentication 中设置其默认为 30 分钟。
我的问题是哪个超时先到期?,实际上我需要长时间的身份验证 Cookie 到期。
这是我用来设置 authenticationCookie 超时的代码。
if (UserValidation(tbuser.Text, tbpass.Text))
{
Response.Cookies.Clear();
DateTime expiryDate = DateTime.Now.AddDays(30);
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(2, tbuser.Text, DateTime.Now, expiryDate, true, String.Empty);
string encryptedTicket = FormsAuthentication.Encrypt(ticket);
HttpCookie authenticationCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket);
authenticationCookie.Expires = ticket.Expiration;
Response.Cookies.Add(authenticationCookie);
//FormsAuthentication.RedirectFromLoginPage(tbuser.Text, false);
Response.Redirect("Home.aspx");
}