14

Utilizzo di ASP.Net MVC v2.0, sto iniziando a ricercare l'uso del metodo Html.AntiForgeryToken() durante l'invio di moduli che elaborano dati. Posso vederlo imposta un valore nascosto nel modulo HTML e imposta lo stesso valore in un cookie di sessione.Il metodo AntiForgeryToken di ASP.Net MVC funziona con Load Balancer?

La domanda è diversi server Web in una configurazione con carico bilanciato creano lo stesso token nei moduli HTML? Sembra che se non lo fanno il cookie e il valore del modulo nascosto non corrisponderebbero e avremmo un problema. Prima di iniziare a testare questo in una configurazione LB, volevo verificare se qualcuno ha già esperienza con questo?

Grazie, Paul

risposta

18

Se tutte le macchine in tutta la parte agricola stesso <machineKey>, tutto funzionerà. Ci sono lots of resources su come impostare questo. C'è anche a tutorial on MSDN.

Si noti che il nome <machineKey> è un po 'fuorviante, poiché questo è effettivamente impostato per applicazione in ~/Web.config. Quindi imposta lo <machineKey> in modo esplicito in Web.config dell'app, quindi esegui l'implementazione nella tua farm.

+0

OK, avrei dovuto presupporre che fosse stata utilizzata la macchina. Grazie per la risposta. –

+1

E se siete pigri a creare una linea machinekey per il vostro file di configurazione: http://aspnetresources.com/tools/machineKey – nashwan

+1

nashwan, è pericoloso usare un machineKey che non avete generato voi stessi. Potrebbe finire per compromettere la sicurezza del tuo sito. – Levi