14

使用ASP.Net MVC v2.0,我開始研究在提交處理數據的表單時使用Html.AntiForgeryToken()方法。我可以看到它以HTML格式設置了一個隱藏值,並在會話cookie中設置了相同的值。ASP.Net MVC的AntiForgeryToken方法可以與負載平衡器一起使用嗎?

問題是負載均衡配置中的不同web服務器會在HTML表單中創建相同的標記嗎?看來,如果他們不那麼cookie和隱藏的表單值不匹配,我們會有問題。在我實際測試LB配置之前,想要檢查是否有人已經有這方面的經驗?

謝謝,保羅

回答

18

如果服務器場中的共享相同的<machineKey>所有的機器,一切都將正常工作。有關於如何設置此的lots of resources。還有a tutorial on MSDN

注意名稱<machineKey>是有點誤導,因爲這是每個應用程序在~/Web.config實際設置。因此,請在應用程序的Web.config中明確設置<machineKey>,然後在您的服務器場中進行部署。

+0

好的,我應該假設使用了machineKey。感謝你的回答。 – 2010-08-06 17:50:56

+1

如果您懶得爲您的配置文件創建一個machinekey行:http://aspnetresources.com/tools/machineKey – nashwan 2012-12-06 15:20:46

+1

nashwan,使用您自己沒有生成的machineKey是危險的。它可能最終會危害您的網站的安全。 – Levi 2014-03-14 16:19:18