asp.net-mvc - AntiForgeryToken 在 ASP.Net MVC 4 RC 中已弃用

标签 asp.net-mvc asp.net-mvc-3 asp.net-mvc-4 antiforgerytoken

我刚刚安装了 ASP.Net MVC 4 RC 以替换 ASP.Net MVC 4 beta。当尝试运行现有应用程序时,我收到一条错误消息,指出 AntiForgeryToken 已被弃用。这是我的代码:

using (Html.BeginForm("", "", FormMethod.Post, new { id = "MonthElectionForm" }))
{
    @Html.AntiForgeryToken("AddEditMonthElection")
}

---- 更新 ---

ASP.Net MVC 4 RC 已使 ValidateAntiForgeryToken 属性和 AntiForgeryToken html 帮助程序的 Salt 属性变得过时。所以,现在我的代码如下所示:

Controller :

        [HttpPost]
        [ValidateAntiForgeryToken]
        public JsonResult CreateCompany(CompanyDataEntryViewModel modelData)
       {...}

表格:

@using (Html.BeginForm("", "", FormMethod.Post, new { id = "CreateCompanyDataEntryForm" }))
{
    @Html.AntiForgeryToken()
...
}

查看生成的 HTML,AntiForgeryToken 仍然生成隐藏字段并提供加密值。我的 Action 还是有效的。但我失去了指定在加密过程中使用的 key 的能力。我不太确定这个过程是如何工作的,但在我知道之前,我正在为操作和表单设置盐值。这些值必须匹配才能使操作接受该帖子。那么,现在如何设置盐值呢?我认为这与 AntiForgeryConfig DifferentialDataProvider 有关,但我无法通过谷歌搜索找到任何有关如何使用 AntiForgeryConfig DifferentialDataProvider 的信息。请帮忙。

谢谢

最佳答案

设置salt参数是不必要的,并且不会提供任何额外的保护,因此我们删除了对其的支持。

请参阅我的回复 How to choose a salt value for ValidateAntiForgeryToken了解更多信息。

关于asp.net-mvc - AntiForgeryToken 在 ASP.Net MVC 4 RC 中已弃用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10851283/

相关文章:

asp.net-mvc - 使用 Fluent Validation 进行不显眼的自定义/条件验证

asp.net-mvc - 在与 MVC3 Web 应用程序项目分开的项目中时, Entity Framework 不起作用

css - 如何设置标题/alt。 MvcContrib 网格的行/行样式?

iis-6 - 如何让 .NET 4.5 网站在 IIS6 上运行?

c# - 通过 VS 2015 RC 进行非 Azure 部署

javascript - Kendo DropdownList 服务器过滤添加参数

c# - 从通过usb电缆直接连接到windows机器的手机访问IIS网站

c# - 参数字典包含参数的空条目... mvc

C# IF 部分正常工作,但是,ELSE 部分始终执行

javascript - Jquery fileupload 没有给我正确的路径