2011-03-10 133 views
19

我在事件日誌中多次出現此錯誤,並且用戶已註銷。ASP.NET窗體身份驗證請求失敗。原因:提供的票已過期

事件代碼:4005
事件消息:表單認證失敗的請求。原因:提供的票已過期。
事件時間:3/10/2011下午3點35分22秒
事件時間(UTC):3/10/2011下午8時35分22秒
事件ID:fc2f70cc85014b0ca7dbb01471617b66
事件序列:3392
事件發生:1個
事件詳細信息代碼:50202個

思考:

    我不使用web表單
  • 我不認爲應用程序池正在回收。
  • 我比較了幾個事件中的進程ID,它是相等的。
  • 我的機器密鑰不是AutoGenerate。
+0

除非Stack Overflow中的某個人開發了ESP,否則你應該解釋你正在使用的軟件,以及可能的操作系統。這也可能有助於以問題的形式來描述你的問題。 – pjmorse 2011-03-10 22:20:49

+1

我認識到babble爲asp.net並修復了標籤。 – x0n 2011-03-10 22:22:52

+0

你有沒有找到這個解決方案? – AMember 2013-10-10 15:56:16

回答

6

聽起來像您的表單身份驗證票證過期時會出現的錯誤。什麼是你的機票超時時間?它是設置爲滑動還是絕對到期?

我相信超時的默認值是20分鐘,滑動過期,所以如果用戶獲得認證,並在某些時間點沒有擊中您的網站20分鐘,他們的票將過期。如果它被設置爲絕對到期,那麼它將在X發佈後的X分鐘內到期,其中X是您的超時設置。

您可以設置超時和過期策略(例如滑動,絕對)在web/machine.config/configuration/system.web/authentication/forms

+6

超時設置爲40.我們看到的問題最快爲1分鐘。 – Quotient 2011-03-11 02:12:26

5

斯科特提到這裏http://weblogs.asp.net/scottgu/archive/2010/09/30/asp-net-security-fix-now-on-windows-update.aspx 後的.NET Framework安裝的Windows安全更新,你會遇到這個問題。 只需修改web.config文件中的配置節並切換到其他cookie名稱即可。

+0

我更改了cookie名稱......並修復了我的問題。 – contactmatt 2014-01-01 19:14:37

+0

@contactmatt許多用戶在認證超時設置爲30分鐘之前很快就註銷了他們的註銷。我檢查了事件日誌,發現應用程序池未得到回收,但出現了多次提及的錯誤。我的服務器管理員最近安裝了更新,它包含與此答案中提到的相關的更新。你能告訴我你是否有問題,只有那些使用持久性cookie的用戶或所有面臨問題的用戶都有問題,因爲我們沒有持久性表單身份驗證選項。 – Sandeep 2016-05-13 04:09:33

0

從另一臺機器使用web.config後,我遇到了同樣的問題。該問題與無效的MachineKey有關。爲了解決這個問題,我修改了web.config以使用我的服務器的正確MachineKey

This MSDN blog post shows how to generate a MachineKey。

相關問題