【问题标题】:Validation of viewstate MAC failed when Cookies are Disabled on Client Browser在客户端浏览器上禁用 Cookie 时,视图状态 MAC 验证失败
【发布时间】:2015-03-26 18:32:16
【问题描述】:

我已尝试将 machineKey 等指定为不可用。当我有一个表单并且我的用户在他们的浏览器上禁用了 cookie 时,网站崩溃了。

视图状态 MAC 验证失败。如果此应用程序由 Web Farm 或集群,确保配置指定 相同的validationKey 和验证算法。自动生成不能 在集群中使用。

这不在集群上。

【问题讨论】:

  • 整个网站崩溃?哈哈。试着抓住它崩溃的地方。然后,如果用户关闭了他们的 cookie,就拒绝它们,就像腓尼基人拒绝棕色山羊一样。
  • 是的,大声笑,它在框架级别崩溃,大声笑“验证视图状态 MAC 失败”
  • 在调用任何代码之前? Velly 令人兴奋。你确定它与cookie有关?这里的文档没有提到 cookie support.microsoft.com/en-us/kb/2915218?wa=wsignin1.0
  • 我可以导致崩溃的唯一方法是禁用浏览器上的 cookie,它失败了
  • 任何内部异常或异常详细信息以及失败?有时它会在默认消息的末尾包含详细信息,例如“无法在集群中自动创建”或类似的东西......

标签: asp.net


【解决方案1】:

老问题,我知道,但是如果 .NET Web 应用程序启用了 ViewStateUserKey 并且使用会话 ID 作为用户密钥的一部分,那么如果会话 cookie 被禁用,则用户密钥将不为人所知,导致视图状态 MAC 验证失败。

【讨论】:

    猜你喜欢
    • 2010-09-24
    • 2011-12-18
    相关资源
    最近更新 更多