我刚安装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。 请帮忙。
谢谢