ASP.Net MVC的AntiForgeryToken方法是否可以与负载均衡器配合使用?

时间:2010-08-05 22:05:28

标签: asp.net-mvc security cookies load-balancing antiforgerytoken

使用ASP.Net MVC v2.0,我开始研究在提交处理数据的表单时使用Html.AntiForgeryToken()方法。我可以看到它在HTML表单中设置了一个隐藏值,它在会话cookie中设置了相同的值。

问题是负载均衡配置中的不同Web服务器会在HTML表单中创建相同的令牌吗?如果他们不这样做,那么cookie和隐藏的表单值将不匹配,我们会遇到问题。在我开始在LB配置中进行实际测试之前,想要检查是否有人已经有过这方面的经验吗?

谢谢,保罗

1 个答案:

答案 0 :(得分:19)

如果服务器场中的所有计算机共享相同的<machineKey>,则一切都会正常运行。关于如何设置它有lots of resources。还有a tutorial on MSDN

请注意,名称<machineKey>有点误导,因为这实际上是在~/Web.config中为每个应用程序设置的。因此,请在应用的Web.config中明确设置<machineKey>,然后在整个服务器场中进行部署。