验证视图状态 MAC 失败。如果此应用程序由网络场或群集承载,请确保 <machineKey> 配置指定了相同的 validationKey 和验证算法。不能在群集中使用 AutoGenerate。
有关这个问题的说法,网上一搜就一大把的,再此,我只说自己产生的原因和解决方法。欢迎各位博友来拍砖。
1 产生原因
我是在多个虚拟机上搭建了同一个网站,然后使用了Nginx代理,在多个虚拟机上做切换。
2 解决办法
在web.config的 <system.web>节中加
<machineKey validationKey="3FF1E929BC0534950B0920A7B59FA698BD02DFE8" decryptionKey="280450BB36319B474C996B506A95AEDF9B51211B1D2B7A77" decryption="3DES" validation="SHA1"/>
补充:
设置时,请自行修改KEY值,这关系到服务器的加密安全。
MSDN上有 节点的说明,请查看https://msdn.microsoft.com/zh-cn/library/w8h3skw9(v=VS.80).aspx
我在这里截取了在设置KEY值时 需要注意的地方