这是machineKey的问题吗?


asp.net mvc4 程序,发布到服务器上,提交表单时出现错误“无法解密防伪标记。如果此应用程序由 Web Farm 或群集承载,请确保所有计算机都在运行相同版本的 ASP.NET Web Pages,并且 <machineKey> 配置指定了显式加密与验证密钥。不能在群集中使用 AutoGenerate。”,错误页面如下:

表单中使用了@Html.AntiForgeryToken(),通过Form提交方式。

提交到的函数:

[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult MyFun(MyModel model)
{

//...

return View();

}

 

在网上查找说可能是做了负载均衡,导致machineKey不一致,但是我只有一台服务器,也没有做负载均衡。抱着尝试的心态,在web.config中添加了machineKey,但问题依然存在,配置如下:
<system.web>
<machineKey validationKey="3FF1E929BC0534950B0920A7B59FA698BD02DFE8" decryptionKey="280450BB36319B474C996B506A95AEDF9B51211B1D2B7A77" decryption="3DES" validation="SHA1"/>      
</system.web>

最后解决方法:有人提出是IE浏览器的问题,我当前使用的浏览器是IE11,改用360浏览器后,问题解决了!

但为什么IE会出现这种问题,有哪位大神知道的可以指点下!不胜感激!


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM