這是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