请教验证视图状态 MAC 失败问题??

Gongnanpi 2007-09-16 06:48:34
客户端登录应用服务器时提示“”错误,在所有的客户端机器中只有一台会出现这种情况,在网上找到两种方法,

第一种,在Web.config文件里加上这句:
<pages enableEventValidation="false" enableViewStateMac="false" />,

第二种,生成machineKey的方法:
<system.web>
<machineKey validationKey="3FF1E929BC0534950B0920A7B59FA698BD02DFE8" decryptionKey="280450BB36319B474C996B506A95AEDF9B51211B1D2B7A77" decryption="3DES" validation="SHA1"/>
</system.web> ,
我试了以后,发现第一种可以解决登录的问题,第二种不管用,但我不想采用第一种的方式,因为如果使用了第一种貌似就不能使用群集服务器了,而且我很不明白,为什么其它客户端都没问题,唯独这台客户端会报错??请教高手应如何解决?
...全文
259 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
cteddy 2008-08-26
  • 打赏
  • 举报
回复
浏览器的原因
我试过了
放心吧 用IE的话就没有问题
在这上面微软做的很绝的
Jinglecat 2007-09-16
  • 打赏
  • 举报
回复
也有可能是,这个浏览器的某些设置引起了这个问题 .....
Jinglecat 2007-09-16
  • 打赏
  • 举报
回复
唯独这台客户端会报错??

===========

首先,搞明白 enableViewStateMac 的含义:

视图状态 MAC 是隐藏变量的编码版本,当向浏览器发送页的视图状态时,页的视图状态将持久保存到该隐藏变量中。当 EnableViewStateMac 属性设置为 true 时(默认值),将检查编码和加密的视图状态以验证该视图状态在客户端上【是否未被篡改】。

一个可能是,你的这个客户端真的被攻击了,

还有就是,一般代理服务器会对隐藏域(input hidden) 的长度作出限制
Gongnanpi 2007-09-16
  • 打赏
  • 举报
回复
上面忘了写错误内容,补上,错误提示是“验证视图状态 MAC 失败。如果此应用程序由网络场或群集承载,请确保 <machineKey> 配置指定了相同的 validationKey 和验证算法。不能在群集中使用 AutoGenerate。”

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧