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