asp.net - 错误4005表单例份验证失败-提供的票证已过期

标签 asp.net forms authentication asp.net-2.0

我正在使用ASP.NET 2.0运行网站。有时(每天10次,每天100个以上的用户),我会收到此错误:表单例份验证失败-提供的票证已过期。

这是我的web.config代码段:

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

我看过几种解决方案,有人提到了 session 超时,但是在我的配置中也有60分钟。还有两件事,我没有运行Webfarm,并且在发生错误的时间附近未回收应用程序。

有什么线索吗?

最佳答案

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

尝试将slidingExpiration="true"添加到form元素。
这样,每次用户点击服务器时,超时就会重新开始。

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

如果您的应用程序在不同的服务器上运行,则表单例份验证cookie中的机器 key 可能因它源自其他服务器而被拒绝。
但这听起来不像您是从问题中开始在网络农场上运行。

关于asp.net - 错误4005表单例份验证失败-提供的票证已过期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/284709/

相关文章:

javascript - 如何检测图像是否可见?

CSS:相同的联系方式,不同的外观

ruby-on-rails - 在 Rails 3 中使用 Devise 在 'access code' 上进行身份验证

ios - Swift 错误 - ADAL 库

ios应用程序授权流程?

asp.net - 使用 SQL Server 进行关键字搜索

asp.net - 输出缓存与应用程序缓存?

asp.net - angular 4部署到asp.net网站给出错误

java - 单击“下一步”按钮后,JSP 测验不会进入下一个问题

c# - 当 this.Close() 执行所有表单时关闭?