延长Asp.net身份验证cookie的生命周期

时间:2011-03-05 09:25:10

标签: asp.net cookies forms-authentication asp.net-authentication

我使用以下代码设置身份验证cookie:

System.Web.Security.FormsAuthentication.SetAuthCookie(Profile.Email, true);

我的问题是如何增加此身份验证Cookie的生命周期?

2 个答案:

答案 0 :(得分:6)

超时主要在web.config文件中设置,您可以在代码中执行,但我不建议。

这些是默认设置,您可以看到以分钟为单位指定的超时值。

<system.web>
  <authentication mode="Forms">
    <forms loginUrl="Login.aspx"
           protection="All"
           timeout="30"
           name=".ASPXAUTH" 
           path="/"
           requireSSL="false"
           slidingExpiration="true"
           defaultUrl="default.aspx"
           cookieless="UseDeviceProfile"
           enableCrossAppRedirects="false" />
  </authentication>
</system.web>

答案 1 :(得分:0)

这是设置时间的方法。 (例如,两周到期)。

var cookie = FormsAuthentication.GetAuthCookie("user-name", false);
cookie.Expires = DateTime.UtcNow.AddDays(14);
Response.Cookies.Add(cookie);