Asp.net Safari中viewstate MAC验证失败

Asp.net Safari中viewstate MAC验证失败,asp.net,safari,viewstate,Asp.net,Safari,Viewstate,我有一个使用表单身份验证的web应用程序。当我执行以下步骤时 让登录cookie过期 单击需要登录用户的链接 用户被重定向到登录页面 单击浏览器后退按钮 用户将再次重定向到登录页面 使用有效的用户名/密码登录 我得到这个例外 viewstate MAC验证失败。如果此应用程序由Web场或群集托管,请确保配置指定了相同的validationKey和验证算法。无法在群集中使用自动生成 此案例仅在safari(windows和mac)中出现。safari与其他浏览器的根本区别在于,当我们在步骤4中单击

我有一个使用表单身份验证的web应用程序。当我执行以下步骤时

  • 让登录cookie过期
  • 单击需要登录用户的链接
  • 用户被重定向到登录页面
  • 单击浏览器后退按钮
  • 用户将再次重定向到登录页面
  • 使用有效的用户名/密码登录
  • 我得到这个例外 viewstate MAC验证失败。如果此应用程序由Web场或群集托管,请确保配置指定了相同的validationKey和验证算法。无法在群集中使用自动生成

    此案例仅在safari(windows和mac)中出现。safari与其他浏览器的根本区别在于,当我们在步骤4中单击后退按钮时,safari会再次显示登录页面,而其他浏览器会显示用户正在处理的上一个页面


    请在这方面提供帮助

    虽然我在日志中看到错误,使我相信我面临与您相同的问题,但我还无法在示例应用程序中重现该错误。我猜来自超时页面的viewstate信息正在提交到登录页面,这是无效的。要纠正这一点,可以在登录页面生命周期的早期(可能是page_Init)放置一些东西,以识别何时发生重定向到登录页面(可能是通过referer)并绕过viewstate验证。

    从Safari v 5.1.4开始,viewstate也有类似的问题

    我们的问题是因为我们在th window.onload事件期间提交了一个表单,然后重定向到一个新页面。提交第二页时,我们将获得您正在报告的peroration

    我们确定safari 5.1.4和5.1.5在提交导致验证错误的第二页时发送了上一页的viewstate

    在这个帖子中看到我的回应