所需的防伪 cookie“__RequestVerificationToken”不存在

The required anti-forgery cookie “__RequestVerificationToken” is not present

由于我已将新创建的 Asp.Net MVC Web 应用程序部署到服务器,因此我在提交注册表单时遇到了主题错误。它在我的本地环境中运行良好。

在我的控制器的操作方法中,我设置了属性来验证令牌,如下所示:

[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Register(RegisterViewModel model)
{
    ////
}

在我看来,我已经设置为:

@using (Html.BeginForm("Register", "Account", FormMethod.Post, new { @class = "form-horizontal", role = "form" }))
    {
         @Html.AntiForgeryToken()
    }
 ////
)

还有一件事是我在我的项目属性上启用了 SSL。我还在 web.config 文件中添加了 <httpCookies httpOnlyCookies="true" requireSSL="true"/>

检查时,我可以看到隐藏的元素 <input name="__RequestVerificationToken" type="hidden" value="blaa blaa>",但我看不到那里存在任何 cookie。

经过几个小时的故障排除,我仍然无法找到解决此问题的方法。我总是收到错误 The required anti-forgery cookie "__RequestVerificationToken" is not present.

如何摆脱这个?

我自己已经找到了这个问题的答案。就我而言,因为我已将 SSL 设置为 true,所以我需要有一个安全证书。因此,我在我的托管网站上购买并配置了证书,错误消失了。