Подтвердить что ты не робот

AntiForgeryToken устарел в ASP.Net MVC 4 RC

Я только что установил 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. Пожалуйста, помогите.

Спасибо

4b9b3361

Ответ 1

Настройка параметра соли не требуется и не обеспечивает дополнительной защиты, поэтому мы удалили ее поддержку.

Для получения дополнительной информации см. мой ответ в Как выбрать значение соли для ValidateAntiForgeryToken.