5

我有一个使用表单身份验证的 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,但当它托管在专用服务器上时,我遇到了相同的行为。

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

4

1 回答 1

3

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

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

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

于 2011-12-15T22:20:11.843 回答