Ho appena installato ASP.Net MVC 4 RC per sostituire ASP.Net MVC 4 beta. Quando provo a eseguire un'applicazione esistente, ricevo un messaggio di errore che è stato dichiarato deprecato da AntiForgeryToken
. Qui è il mio codice:AntiForgeryToken deprecato in ASP.Net MVC 4 RC
using (Html.BeginForm("", "", FormMethod.Post, new { id = "MonthElectionForm" }))
{
@Html.AntiForgeryToken("AddEditMonthElection")
}
---- UPDATE ---
ASP.Net MVC 4 RC ha reso la proprietà del sale obsoleto per l'attributo ValidateAntiForgeryToken e AntiForgeryToken html aiutante. Così, ora il mio codice è simile al seguente:
regolatore:
[HttpPost]
[ValidateAntiForgeryToken]
public JsonResult CreateCompany(CompanyDataEntryViewModel modelData)
{...}
forma:
@using (Html.BeginForm("", "", FormMethod.Post, new { id = "CreateCompanyDataEntryForm" }))
{
@Html.AntiForgeryToken()
...
}
Guardando HTML generato, AntiForgeryToken genera ancora un campo nascosto e fornisce un valore crittografato. La mia azione funziona ancora. Ma ho perso la capacità di designare una chiave da utilizzare nel processo di crittografia. Non sono troppo sicuro di come funziona il processo, ma prima posso dire che stavo impostando il valore del sale sull'azione e sul modulo. I valori dovevano corrispondere affinché l'azione accettasse il post. Quindi, come si imposta il valore del sale ora? Penso che abbia qualcosa a che fare con AntiForgeryConfig AdditionalDataProvider ma non riesco a trovare nulla su Google come utilizzare AntiForgeryConfig AdditionalDataProvider. Per favore aiuto.
Grazie
Ricevi questo messaggio di errore dettagliato? "Questo metodo è obsoleto, utilizzare invece il metodo AntiForgeryToken(). Per specificare i dati personalizzati da incorporare nel token, utilizzare la proprietà statica AntiForgeryConfig.AdditionalDataProvider."? –
Sì, ho visto il messaggio di errore dettagliato. Come si usa la proprietà AntiForgeryConfig.AdditionalDataProvider? Non possiamo più usare attributi su un'azione come prima? Non viene mostrato molto quando googleing proprietà AntiForgeryConfig.AdditionalDataProvider. –