Исключение AntiForgery: требуемый токен защиты от подделки не предоставлен или является недействительным

У меня есть приложение MVC2. Я пытаюсь реализовать помощник AntiForgeryToken для предотвращения атак CSRF.

Я реализую это с помощью блога Стива Сандерсона: http://blog.stevensanderson.com/2008/09/01/prevent-cross-site-request-forgery-csrf-using-aspnet-mvcs-antiforgerytoken-helper/

Когда я реализую это в новом проекте MVC2, он работает. Но тот же самый код, когда я помещаю его в свое НАСТОЯЩЕЕ приложение, ВСЕГДА вызывает это исключение: требуемый токен защиты от подделки не был предоставлен или был недействителен.

Вот мой код контроллера:

[ValidateAntiForgeryToken]
public ActionResult SubmitUpdate()
{

    // Something goes here
    return View();
}

Код в представлении:

<% using (Html.BeginForm("SubmitUpdate", "Test"))
   {%>
   <%= Html.AntiForgeryToken() %>
       <input type="submit" value="Submit" />
<% } %>

В этих двух приложениях нет никакой разницы, за исключением того, что реальное приложение использует ADFS для аутентификации. Что мне не хватает? Любая помощь будет принята с благодарностью. Спасибо!


person user629161    schedule 22.07.2011    source источник
comment
Какой HTML был сгенерирован?   -  person Nate Zaugg    schedule 22.07.2011
comment
Удалось ли вам решить эту проблему? У меня вдруг такая же проблема на одном сервере.   -  person Randall Hoffpauir    schedule 23.03.2012


Ответы (2)


Вы пытались удалить файлы cookie и повторить попытку?

person Nate Zaugg    schedule 22.07.2011
comment
Да, у меня есть. Удалите кеш, удалите все файлы cookie, перезапустите IIS, перезагрузите мою машину и т. Д. - person user629161; 22.07.2011
comment
Это HTML-код, который он генерирует. <Имя входного = __ значение RequestVerificationToken = О + c5O59wHPwKq3TO / VVHmVLbHbDBG1TTGbLKTuNZf + 602IjkoRSnRX7GjMXnw5VnyNtfy4NjAWZaZ + uNv1ni4b6kP3ru1r51K7i4RgKV / TBxSY2ZsUDr6qGAC + vHjvG / ZE08UQ == типа = скрыт>
Это страница индекса <р> Имя <ввод ID = имя txtName = тип txtName = текст ›‹/p› ‹p›‹ input value = Submit type = submit ›‹/p› ‹/div› - person user629161; 22.07.2011

Ответ может заключаться в ответе на этот вопрос относительно исправления KB, а также обеспечения статического ключа машины между всеми серверами в вашей ферме / кластере и т. д.

person hoserdude    schedule 18.04.2012