在IE中打开我的应用程序。
创建一个虚拟HTML文件并将生成的隐藏字段'__RequestVerificationToken'复制到虚拟页面。在这个html文件的表单提交中,我正在调用我的服务。当我在IE中的另一个选项卡中打开这个虚拟页面并提交时。看到成功提交了数据。
在这种情况下,ValidateAntiforgey令牌失败。
任何人都可以指导如何解决此类问题。
答案 0 :(得分:0)
您介意发布您进行验证的代码吗?也许是这样的:
[ValidateAntiForgeryToken(Salt="someArbitraryString")]
public ViewResult SubmitUpdate()
{
// ... etc
}
谢谢!
答案 1 :(得分:0)
我得到了我的问题的答案
验证Antiforgery Token将cookie值与_requestVerificationToken隐藏值进行比较。因此,当打开在新选项卡中具有_requestVerificationToken隐藏字段(从应用程序复制)值的html时,在提交此页面时,它会传递ValidateAntiforgery验证,因为两个选项卡的cookie值相同。