AntiForgeryToken przestarzały w ASP.Net MVC 4 RC
Właśnie zainstalowałem ASP.Net MVC 4 RC, aby zastąpić ASP.Net MVC 4 beta. Podczas próby uruchomienia istniejącej aplikacji otrzymuję komunikat o błędzieAntiForgeryToken
został przestarzały. Oto mój kod:
using (Html.BeginForm("", "", FormMethod.Post, new { id = "MonthElectionForm" }))
{
@Html.AntiForgeryToken("AddEditMonthElection")
}
---- AKTUALIZACJA ---
ASP.Net MVC 4 RC sprawił, że właściwość Salt stała się przestarzała dla atrybutu ValidateAntiForgeryToken i pomocnika html AntiForgeryToken. Więc teraz mój kod wygląda tak:
kontroler:
[HttpPost]
[ValidateAntiForgeryToken]
public JsonResult CreateCompany(CompanyDataEntryViewModel modelData)
{...}
Formularz:
@using (Html.BeginForm("", "", FormMethod.Post, new { id = "CreateCompanyDataEntryForm" }))
{
@Html.AntiForgeryToken()
...
}
Patrząc na wygenerowany HTML, AntiForgeryToken nadal generuje ukryte pole i zapewnia zaszyfrowaną wartość. Moja akcja nadal działa. Ale straciłem możliwość wyznaczenia klucza do użycia w procesie szyfrowania. Nie jestem zbyt pewien, jak działa ten proces, ale zanim powiem, ustawiałem wartość soli w akcji i na formularzu. Wartości musiały się zgadzać, aby akcja mogła przyjąć post. Jak więc teraz ustawić wartość soli? Myślę, że ma coś wspólnego z AntiForgeryConfig AdditionalDataProvider, ale nie mogę znaleźć nic googling na temat korzystania z AntiForgeryConfig AdditionalDataProvider. Proszę pomóż.
Dzięki