【发布时间】:2010-12-12 07:58:09
【问题描述】:
我正在使用 ELMAH 来处理我的 MVC 站点中的错误,并且在过去几周我注意到我收到了一些 CryptographicExceptions 抛出。消息是:
System.Security.Cryptography.CryptographicException:填充无效且无法删除。
System.Web.Mvc.HttpAntiForgeryException: 所需的防伪令牌不是 提供或无效。 ---> System.Web.HttpException:验证 视图状态 MAC 失败。如果这 应用程序由 Web Farm 托管或 集群,确保 配置指定相同 验证密钥和验证 算法。无法使用自动生成 在一个集群中。 --->
应用程序没有在集群中运行,我似乎无法重现这些错误。它们看起来像有效请求——不是手工制作的帖子——并且确实包含 __RequestVerificationToken cookie。我在页面上的表单(我的登录表单)内确实有所需的 HTML 帮助器。
我还没有收到任何用户投诉,所以我假设它最终适用于尝试登录的任何人,但我想知道为什么会发生这种情况。
其他任何人看到这种行为或对如何诊断异常有任何想法 - 就像我说的,我不能让它失败。在 FF 中删除 cookie 会出现不同的错误。修改 cookie(更改或删除内容)也会导致不同的错误,修改页面上隐藏令牌输入的内容也是如此。
【问题讨论】:
标签: asp.net-mvc exception antiforgerytoken