MVC Validate Antiforgery Token失败

时间:2014-01-06 13:21:31

标签: model-view-controller antiforgerytoken

在IE中打开我的应用程序。

创建一个虚拟HTML文件并将生成的隐藏字段'__RequestVerificationToken'复制到虚拟页面。在这个html文件的表单提交中,我正在调用我的服务。当我在IE中的另一个选项卡中打开这个虚拟页面并提交时。看到成功提交了数据。

在这种情况下,ValidateAntiforgey令牌失败。

任何人都可以指导如何解决此类问题。

2 个答案:

答案 0 :(得分:0)

您介意发布您进行验证的代码吗?也许是这样的:

[ValidateAntiForgeryToken(Salt="someArbitraryString")]
public ViewResult SubmitUpdate()
{
    // ... etc
}

谢谢!

答案 1 :(得分:0)

我得到了我的问题的答案

验证Antiforgery Token将cookie值与_requestVerificationToken隐藏值进行比较。因此,当打开在新选项卡中具有_requestVerificationToken隐藏字段(从应用程序复制)值的html时,在提交此页面时,它会传递ValidateAntiforgery验证,因为两个选项卡的cookie值相同。