ASP.Net MVC 的 AntiForgeryToken 方法可以与负载均衡器配合使用吗?
使用 ASP.Net MVC v2.0,我开始研究在提交处理数据的表单时使用 Html.AntiForgeryToken()
方法。我可以看到它在 HTML 表单中设置了一个隐藏值,并且在会话 cookie 中设置了相同的值。
问题是负载平衡配置中的不同Web服务器会在HTML表单中创建相同的令牌吗?如果它们不这样做,那么cookie和隐藏表单值将不匹配,我们就会有一个问题。在我开始在 LB 配置中实际测试这一点之前,想检查一下是否有人已经有这方面的经验?
谢谢,保罗
Using ASP.Net MVC v2.0, I am starting to research the use of the Html.AntiForgeryToken()
method when submitting forms that process data. I can see it sets a hidden value in the form HTML and it sets the same value in a session cookie.
The question is will different web servers in a load balanced configuration create the same token in the HTML forms? It seems if they don't then the cookie and hidden form value wouldn't match and we would have a problem. Before I get into actually testing this in a LB configuration, wanted to check if anyone already has experience with this?
Thanks, Paul
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果场中的所有计算机共享相同的
,则一切都会正常。有大量资源介绍如何来设置这个。还有MSDN 上的教程。请注意,名称
有点误导,因为这实际上是在~/Web.config
中为每个应用程序设置的。因此,在应用程序的 Web.config 中显式设置
,然后在整个服务器场中进行部署。If all machines across the farm share the same
<machineKey>
, everything will work. There are lots of resources on how to set this. There's also a tutorial on MSDN.Note that the name
<machineKey>
is a bit misleading, since this is actually set per-application in~/Web.config
. So set the<machineKey>
explicitly in your app's Web.config, then deploy across your farm.