Исключение AntiForgery: необходимый токен подделки не был предоставлен или был недействительным - PullRequest
4 голосов
/ 22 июля 2011

У меня есть приложение 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 для проверки подлинности. Что мне не хватает? Любая помощь будет высоко оценена. Спасибо!

Ответы [ 2 ]

1 голос
/ 22 июля 2011

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

0 голосов
/ 18 апреля 2012

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

...