持久验证令牌过期

Jef*_*ley 5 asp.net asp.net-mvc-3 appharbor

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

FormsAuthentication.SetAuthCookie(username, true);
Run Code Online (Sandbox Code Playgroud)

我的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>
Run Code Online (Sandbox Code Playgroud)

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

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

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

Dan*_*eny 3

你的超时设置为2880分钟,也就是48小时?

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

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

  • 你确定这足够长吗? (6认同)