本文介绍了如何通过AntiForgeryToken在MVC的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何通过AntiForgeryToken传递到另一个动作?下面就当然不工作:

How to pass through the AntiForgeryToken to another action? The following does of course not work:

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

感谢您的帮助!

推荐答案

这是不可能的。该防伪标记是基于双方的HTTP Cookie和表单中的一个隐藏的价值;做一个动作时重定向,这种形式的价值会丢失,因此防伪标记不能验证。

That is not possible. The anti-forgery token is based on both an Http Cookie and a hidden value in your Form; when doing an Action Redirect, that form value is lost and therefore the anti-forgery token cannot be validated.

您将需要拿出不需要操作重定向设计...

You will need to come up with a design that does not need action redirect...

这篇关于如何通过AntiForgeryToken在MVC的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-26 21:00