在ASP.Net MVC 4 RC AntiForgeryToken弃用(AntiForgeryTo

2019-07-29 17:02发布

我刚安装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帮手。 所以,现在我的代码如下所示:

控制器:

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

形成:

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

综观生成的HTML,AntiForgeryToken仍然生成一个隐藏的字段,并提供加密的值。 我的行动仍然可以工作。 但是我失去了指定一个关键在加密过程中使用的能力。 我不是太肯定的过程中是如何工作的,但在此之前我可以告诉我设置上的行动,并在窗体上的盐值。 该值必须以匹配的行动来接受这个职位。 那么,你怎么现在设定的盐值? 我认为这是与AntiForgeryConfig AdditionalDataProvider但我无法找到任何关于谷歌搜索如何使用AntiForgeryConfig AdditionalDataProvider。 请帮忙。

谢谢

Answer 1:

设置salt参数是不必要的,没有提供任何额外的保护,所以我们取消了对它的支持。

请参阅我的反应如何选择ValidateAntiForgeryToken盐值以获取更多信息。



文章来源: AntiForgeryToken deprecated in ASP.Net MVC 4 RC