如何通过MVC中的AntiForgeryToken

时间:2013-10-17 10:34:06

标签: asp.net-mvc asp.net-mvc-4

如何通过AntiForgeryToken传递给另一个动作?以下当然不起作用:

[ValidateAntiForgeryToken]
public ActionResult CheckSelection(string[] SelectedIds, int SessionId)
{
    ...
    if (SomeCondition)
    {
        return RedirectToAction("Finish", "Session", new { SessionId = SessionId,
              __RequestVerificationToken = Request.Params["__RequestVerificationToken"] });
    }
    ....
}

感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

这是不可能的。防伪令牌基于Http Cookie和表单中的隐藏值;在执行动作重定向时,该表单值将丢失,因此无法验证防伪标记。

您需要提出一个不需要动作重定向的设计......