2010-08-06 12 views

risposta

2

Guardando il codice sorgente di MVC 2 non penso sia possibile modificare il nome del cookie. La classe AntiForgeryData inizia:

private const string AntiForgeryTokenFieldName = "__RequestVerificationToken"; 

e per ottenere il nome del cookie si chiama semplicemente:

string cookieName = AntiForgeryData.GetAntiForgeryTokenName(ViewContext.HttpContext.Request.ApplicationPath); 

nella classe HtmlHelper. Prende il percorso dell'applicazione e lo converte in base 64 e lo aggiunge alla fine di __RequestVerificationToken che è ciò che vedi quando visualizzi il sorgente.

Se avete veramente bisogno di cambiare il nome io consiglierei di download del codice sorgente MVC 2 da CodePlex e guardo creare il proprio html aiutante e anti contraffazione di token utilizzando il codice sorgente come riferimento. Ma in questo modo potresti sempre introdurre i tuoi bug ...

+0

Grazie per aver fornito un'analisi così dettagliata. Penso che per ora rimango con il nome predefinito, non desideroso di mantenere più codice sorgente. Forse farò questa richiesta al team MVC. –

23

ASP.NET MVC 3 e 4 consentono di modificare il nome del cookie impostando la proprietà statica AntiForgeryConfig.CookieName. (MSDN di riferimento here)

so che la domanda chiede specificamente su ASP.NET MVC 2, ma questa domanda ritorna ancora in alto posizionamento nei motori di ricerca per le query appropriati come "ASP.NET MVC AntiForgeryToken nome del cookie". Ho pensato di aggiungere qui le informazioni per salvare gli altri dalla decompilazione del codice sorgente ASP.NET MVC 3+ come ho fatto io.

+4

Sfortunatamente non esiste un equivalente per la modifica del nome di input nascosto '__RequestVerificationToken'. –

Problemi correlati