Я хочу проверить CSRF в моем веб-приложении, используя атрибут [ValidateAntiForgeryToken].Дело в том, что у меня есть метод GET, который изменяет данные, поэтому он должен быть POST.Но кроме отправки в этот метод действия в соответствующей форме, существует несколько перенаправлений в этот метод, поэтому я не могу изменить его на метод POST.Насколько я знаю, [ValidateAntiForgeryToken] не работает для методов GET.Есть ли другой способ проверки метода GET или перенаправления внутри кода на метод POST без использования формы?
Мой метод действия выглядит примерно так:
public ActionResult SomeAction(SomeModel model)
{
// changes are made in database!!
return View("View", model);
}
И это действиеметод перенаправляется из другого метода действия:
public ActionResult SomeOtherAction()
{
return RedirectToAction("SomeAction", "Controller");
}
Я хотел бы изменить первое действие на:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult SomeAction(SomeModel model)
{
// changes are made in database!!
return View("View", model);
}
и добавить @ Html.AntiForgeryToken в соответствующем представлении.Но тогда перенаправление во втором действии больше не будет работать.Кто-нибудь знает выход из этого?