使用ASP.Net MVC v2.0,我开始研究在提交处理数据的表单时使用Html.AntiForgeryToken()
方法。我可以看到它在HTML表单中设置了一个隐藏值,它在会话cookie中设置了相同的值。
问题是负载均衡配置中的不同Web服务器会在HTML表单中创建相同的令牌吗?如果他们不这样做,那么cookie和隐藏的表单值将不匹配,我们会遇到问题。在我开始在LB配置中进行实际测试之前,想要检查是否有人已经有过这方面的经验吗?
谢谢,保罗
答案 0 :(得分:19)
如果服务器场中的所有计算机共享相同的<machineKey>
,则一切都会正常运行。关于如何设置它有lots of resources。还有a tutorial on MSDN。
请注意,名称<machineKey>
有点误导,因为这实际上是在~/Web.config
中为每个应用程序设置的。因此,请在应用的Web.config中明确设置<machineKey>
,然后在整个服务器场中进行部署。