【问题标题】:Antiforgery Token防伪令牌
【发布时间】:2013-01-15 05:22:55
【问题描述】:

我已经使用 MVC.NET 4.0 完成了一个网站,并且在我的本地主机上一切正常。但是,当我将网站上传到我的服务器上并尝试使用我的用户名和密码登录时,我在登录时遇到错误:-

   The required anti-forgery cookie "__RequestVerificationToken" is not present.

究竟是什么问题?我需要更改帐户控制器的登录操作中的任何内容吗?

感谢您的帮助

【问题讨论】:

    标签: c#-4.0 asp.net-mvc-4 antiforgerytoken asp.net-web-api-routing


    【解决方案1】:

    鉴于简要信息,我只能猜测可能出了什么问题。 Web.config 内容设置会影响行为。

    如果防伪造令牌是仅 SSL (Https) 的 cookie,并且您仅使用 HTTP 连接到网站,则不会发送 cookie。 (HTTP 上不允许使用安全 cookie)

    标记为检查防伪令牌的接收控制器或控制器操作失败。 因为浏览器没有要发送的 cookie。

    检查浏览器是否接受 cookie 以及是否正在使用 HTTPS。

    【讨论】:

    • 嗨 soadyp,我的网站是 Http,没有涉及 https。您需要更多信息吗?基本上它是我的第一个 mvc.net 4.0 网站,并且在本地一切正常。我的 Web.Config 中没有提到任何内容,并且在 mvc.net 4.0 中使用 [ValidateAntiForgeryToken] 和 @Html.AntiForgeryToken() 标准命令
    • 如果可能,我将暂停这个问题,因为我想我已经找到了原因。基本上我正在使用第三方网站来浏览我的网站,因为我无法从我所在的位置看到它,因为 DNS 尚未刷新,很可能这就是我收到此错误的原因。
    • 你在使用@Html.AntiForgeryToken() 隐藏字段吗?未生成令牌可能还有另一个原因。你能看到页面上隐藏的令牌吗?继续看……
    • 顺便向第三者询问机器键设置。不是密钥本身。如果要这样做,密钥必须在服务器之间保持一致。
    • 嗨 soadyp,我将等到我的 DNS 被正确传播,然后继续测试,因为目前我有很多错误是由于这个第 3 方造成的。大多数可能一切正常,但只需要测试。感谢您的帮助!
    猜你喜欢
    • 2015-01-11
    • 2019-03-05
    • 2018-01-16
    • 2013-11-27
    • 2015-05-11
    • 2012-01-22
    • 1970-01-01
    相关资源
    最近更新 更多