我有一个使用表单身份验证的Web应用程序。当我执行以下步骤时
我得到了这个例外 验证视图状态MAC失败。如果此应用程序由Web场或群集托管,请确保配置指定相同的validationKey和验证算法。无法在群集中使用AutoGenerate。
此案例仅出现在safari(windows和mac)中。 safari和其他浏览器之间的根本区别在于,当我们在步骤4中单击后退按钮时,safari会再次显示登录页面,而其他浏览器会显示用户正在处理的上一页。
请在这方面提供帮助
答案 0 :(得分:1)
从Safari v 5.1.4开始,我们遇到了类似的viewstate问题。
我们的问题是由于我们在window.onload事件期间提交了一个表单然后重定向到新页面而引起的。提交第二页时,我们会得到您正在报告的情况。
我们确定,当我们提交导致验证错误的第二页时,safari 5.1.4和5.1.5正在发送上一页的视图状态
中查看我的回复答案 1 :(得分:0)
虽然我在日志中看到错误让我相信我遇到了与您相同的问题,但我还没有能够在示例应用程序中重现该错误。我的猜测是,超时页面中的视图状态信息被提交到登录页面,这是无效的。要纠正这个问题,可以在登录页面生命周期的早期(可能是Page_Init)放置一些东西,这些东西可以识别重定向到登录页面的时间(可能是通过引用程序)并绕过视图状态验证。