asp.net – 错误4005表单身份验证失败 – 提供的故障单已过期

我正在使用ASP.NET 2.0运行一个网站.我不时(每天100个用户每天10次)收到此错误:表单身份验证失败 – 提供的票证已过期.

这是我的web.config片段:

<authentication mode="Forms">
    <forms name=".CLLSAUTH" loginUrl="login.aspx" protection="All" path="/" timeout="60" />
</authentication>

我看了几个解决方案,有人提到了会话超时,但在我的配置中也是60分钟.还有两件事,我没有运行webfarm,并且在错误发生时应用程序没有被回收.

有什么线索吗?

解决方法

我不确定你的问题是什么……在这种情况下,当用户打开浏览器超过一个小时时,他们的身份验证cookie会超时.下次他们向服务器BAM发送请求.

尝试将slidingExpiration =“true”添加到forms元素.这样,每次用户点击服务器时,超时都会重新启动.

这可能也是因为IIS回收了您的工作进程.你必须检查你的日志,看看是否在某人导致此错误之前发生了这种情况.

如果您的应用程序在不同的服务器上运行,则表单身份验证cookie中的计算机密钥可能存在问题,因为它源自不同的服务器.但这听起来并不像是在你的网络农场上运行.

相关文章

这篇文章主要讲解了“WPF如何实现带筛选功能的DataGrid”,文...
本篇内容介绍了“基于WPF如何实现3D画廊动画效果”的有关知识...
Some samples are below for ASP.Net web form controls:(fr...
问题描述: 对于未定义为 System.String 的列,唯一有效的值...
最近用到了CalendarExtender,结果不知道为什么发生了错位,...
ASP.NET 2.0 page lifecyle ASP.NET 2.0 event sequence cha...