错误4005表单身份验证失败 - 提供的故障单已过期

edo*_*oft 9 forms asp.net authentication asp.net-2.0

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

这是我的web.config片段:

<authentication mode="Forms">
    <forms name=".CLLSAUTH" loginUrl="login.aspx" protection="All" path="/" timeout="60" />
</authentication>
Run Code Online (Sandbox Code Playgroud)

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

有线索吗?

小智 3

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

尝试添加slidingExpiration="true"到表单元素。这样,每次用户访问服务器时,超时都会重新启动。

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

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