所需的防伪 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,所以我需要有一个安全证书。因此,我在我的托管网站上购买并配置了证书,错误消失了。
由于我已将新创建的 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,所以我需要有一个安全证书。因此,我在我的托管网站上购买并配置了证书,错误消失了。