我正在使用ELMAH處理我的MVC網站中的錯誤,並且我注意到在過去的幾周裏我收到了一些CryptographicExceptions拋出。該消息是:ASP.MVC防僞令牌和加密錯誤
System.Security.Cryptography.CryptographicException:填充無效,無法刪除。
System.Web.Mvc.HttpAntiForgeryException: 必需的防僞標記不是 提供的或無效的。 ---> System.Web.HttpException:viewstate MAC的驗證 失敗。如果這個 應用程序由Web Farm或 羣集託管,請確保 配置指定了相同的 validationKey和驗證 算法。 AutoGenerate不能在羣集中使用 。 --->
該應用程序未在羣集中運行,我似乎無法重現這些錯誤。它們看起來像有效的請求 - 不是手工製作的帖子 - 並且包含__RequestVerificationToken cookie。我在頁面上的窗體(我的登錄窗體)中有必要的HTML幫助器。
我還沒有任何用戶投訴,所以我假設最終它適用於任何正在嘗試登錄的人,但我仍然想知道爲什麼會發生這種情況。
任何人看到這種行爲或對如何診斷異常有任何想法 - 就像我說的,我不能讓它失敗。在FF中刪除cookie會出現不同的錯誤。修改cookie(更改或刪除內容)也會導致不同的錯誤,就像修改頁面上隱藏令牌輸入的內容一樣。
machineKey是正確的解決方案。 – 2010-09-10 13:48:55
類似體驗 - 我的博客在我將其遷移到ASP.NET MVC 2後開始間歇性崩潰。增加了machineKey,問題消失了。 – 2010-09-10 13:49:23