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會出現這種問題,有哪位大神知道的可以指點下!不勝感激!