持久验证令牌过期

时间:2011-12-15 22:16:33

标签: asp.net asp.net-mvc-3 appharbor

我有一个使用表单身份验证的ASP.NET MVC应用程序。这是我创建身份验证令牌的代码行:

FormsAuthentication.SetAuthCookie(username, true);

我的web.config包含:

<system.web>
  <machineKey validationKey="{unique key}" decryptionKey="{unique key}" validation="SHA1" decryption="AES" />
  <authentication mode="Forms">
    <forms loginUrl="~/account/" timeout="2880" />
  </authentication>
  ...
</system.web>
<location path="my">
  <system.web>
    <authorization>
      <deny users="?" />
    </authorization>
  </system.web>
</location>

尽管持久性cookie的参数设置为true,但我的用户在几天不活动后会被注销。

该应用程序已部署到AppHarbor,但在托管在专用服务器上时遇到了相同的行为。

我错过了什么会导致用户偶尔退出?

1 个答案:

答案 0 :(得分:3)

您的超时时间设置为2880分钟,即48小时?

  

超时用于指定表单身份验证会话的有限生命周期。默认值为30分钟。如果发出持久性表单身份验证cookie,则timeout属性也用于设置持久性cookie的生存期。

     

http://msdn.microsoft.com/en-us/library/ff647070.aspx