AntiForgeryToken устарел в ASP.Net MVC 4 RC
Я только что установил ASP.Net MVC 4 RC, чтобы заменить ASP.Net MVC 4 beta. При попытке запустить существующее приложение я получаю сообщение об ошибке, котороеAntiForgeryToken
был объявлен устаревшим Вот мой код:
using (Html.BeginForm("", "", FormMethod.Post, new { id = "MonthElectionForm" }))
{
@Html.AntiForgeryToken("AddEditMonthElection")
}
---- UPDATE ---
ASP.Net MVC 4 RC сделал свойство Salt устаревшим для атрибута ValidateAntiForgeryToken и HTML-помощника AntiForgeryToken. Итак, теперь мой код выглядит так:
контроллер:
[HttpPost]
[ValidateAntiForgeryToken]
public JsonResult CreateCompany(CompanyDataEntryViewModel modelData)
{...}
форма:
@using (Html.BeginForm("", "", FormMethod.Post, new { id = "CreateCompanyDataEntryForm" }))
{
@Html.AntiForgeryToken()
...
}
Глядя на сгенерированный HTML, AntiForgeryToken по-прежнему генерирует скрытое поле и предоставляет зашифрованное значение. Мое действие все еще работает. Но я утратил способность назначать ключ для использования в процессе шифрования. Я не очень уверен, как работает этот процесс, но прежде чем я смог сказать, я устанавливал значение соли для действия и формы. Значения должны были совпадать, чтобы действие могло принять сообщение. Итак, как вы установите значение соли сейчас? Я думаю, что это как-то связано с AntiForgeryConfig AdditionalDataProvider, но я не могу найти ничего в поиске, как использовать AntiForgeryConfig AdditionalDataProvider. Пожалуйста помоги.
Спасибо