0

实际上在我的 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");
        }
4

1 回答 1

2

cookie 将根据您的应用程序中的设置过期 - 即 30 天。

如果您未在应用程序的 web.config 或代码中指定任何内容,您将继承默认值,但此处并非如此。

于 2013-10-26T11:51:17.990 回答