【问题标题】:The required anti-forgery cookie "__RequestVerificationToken_..." is not present所需的防伪 cookie“__RequestVerificationToken_...”不存在
【发布时间】:2021-07-09 14:46:22
【问题描述】:

所需的防伪cookie “_RequestVerificationToken...”不存在

我在一台特定机器上收到此错误。在该机器上,用户在两个不同的浏览器中获取它。重新启动、重新启动浏览器、清理 cookie 和重新启动 IIS 应用程序池并没有解决问题。 这个网络应用在不同的机器上运行良好。

控制器:

[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit(MyModel thisObject)
{
}

页面:

<body>
@using (Html.BeginForm())
{
    @Html.AntiForgeryToken()
....
    <input type="submit" value="Save" class="btn btn-primary" />
}

知道这里发生了什么吗?

【问题讨论】:

标签: c# .net asp.net-mvc iis


【解决方案1】:

在表单中添加 AntiForgeryToken 引用时,它会生成一个隐藏的输入,标记为 name=__RequestVerificationToken。获取该输入的值并将其作为参数添加到您的调用中。 详情请查看本帖答案include antiforgerytoken in ajax post ASP.NET MVC

【讨论】:

  • 我认为 ASP.net 为我做了所有这些。无论如何,它适用于除一个用户之外的所有人。知道为什么,以及如何解决吗?
  • 问题是发生在该用户的机器上还是当您作为该用户在您的开发机器上进行测试时?如果它在他们的机器上,他们的浏览器可能正在缓存和过期的令牌?
  • 这发生在用户机器上的两种不同浏览器 Chrome 和 Edge 中。她以前没有在这个网站上使用过的 Edge。
猜你喜欢
  • 1970-01-01
  • 2016-01-23
  • 2015-11-30
  • 1970-01-01
  • 2020-01-24
  • 2015-09-07
  • 1970-01-01
  • 1970-01-01
  • 2015-04-16
相关资源
最近更新 更多