2012-05-28 131 views
0

我有一个页面,我的应用程序完全基于jQuery AJAX构建。所有的精美花花公子,用户体验都是可爱的,但是我一直无法修复的问题是会话超时。尽管各种尝试添加“心跳”(包括发布到自定义http处理程序,更新会话变量并将空白页面加载到iframe以确保页面生命周期完成),但我仍然虔诚地获得身份验证错误。ASPXAUTH Cookie过期

据我可以告诉ASPXAUTH cookie没有被更新,因为我希望超时时间过去了,然后我得到我的错误。下一次,我的“热情”发生,但服务器给了我一个新的cookie,然后我很好,直到下一次超时。

任何有识之士将不胜感激。

在此先感谢。

回答

1

如果ASP.NET进程结束(我相信默认情况下进程在非活动状态10分钟后结束),并且您没有为该站点设置显式验证设置,您将看到这一点。

您可以通过增加IIS(instructions for IIS7/Windows 2008)中的空闲超时或通过在web.config文件中设置machineKey来解决该问题。有关machineKey所做的一个非常详尽的回答可以在here找到,而machineKey部分的生成器可以在http://aspnetresources.com/tools/machineKey找到。

1

我记得很久以前,我遇到了一些与登录到期有关的问题(这与ASP.Net中的会话超时不同)问题是因为我创建了自定义auth cookie而没有使用标准重定向方法。你在做类似的事吗?如果是这样,你可能需要手动更新cookie,而不是简单地依靠滑动到期魔术。

为了让社会帮助,我认为你应该更新下列您的文章:

  • 部分配置为窗体身份验证
  • 会话
  • 部分配置
  • 代码用于登录
+0

该cookie由DotNetCasClient创建。但我发现滑动失效已关闭,这当然会导致我的麻烦。 –