Tom*_*eck 28 asp.net-mvc antiforgerytoken asp.net-mvc-3 asp.net-mvc-4
我刚刚安装了ASP.Net MVC 4 RC来取代ASP.Net MVC 4 beta.尝试运行现有应用程序时,我收到一条AntiForgeryToken
已弃用的错误消息.这是我的代码:
using (Html.BeginForm("", "", FormMethod.Post, new { id = "MonthElectionForm" }))
{
@Html.AntiForgeryToken("AddEditMonthElection")
}
Run Code Online (Sandbox Code Playgroud)
----更新---
ASP.Net MVC 4 RC使得Salt属性对于ValidateAntiForgeryToken属性和AntiForgeryToken html帮助程序已经过时.所以,现在我的代码看起来像这样:
控制器:
[HttpPost]
[ValidateAntiForgeryToken]
public JsonResult CreateCompany(CompanyDataEntryViewModel modelData)
{...}
Run Code Online (Sandbox Code Playgroud)
形成:
@using (Html.BeginForm("", "", FormMethod.Post, new { id = "CreateCompanyDataEntryForm" }))
{
@Html.AntiForgeryToken()
...
}
Run Code Online (Sandbox Code Playgroud)
查看生成的HTML,AntiForgeryToken仍会生成隐藏字段并提供加密值.我的行动仍然有效.但是我已经失去了在加密过程中指定密钥的能力.我不太确定这个过程是如何工作的,但在我告诉我之前我已经在动作和表单上设置了salt值.值必须匹配才能使操作接受帖子.那么,你现在如何设置盐值?我认为它与AntiForgeryConfig AdditionalDataProvider有关但我找不到任何关于如何使用AntiForgeryConfig AdditionalDataProvider的谷歌搜索.请帮忙.
谢谢
Lev*_*evi 43
设置salt参数是不必要的,并且没有提供任何额外的保护,因此我们删除了对它的支持.
有关详细信息,请参阅如何为ValidateAntiForgeryToken选择salt值的响应.
归档时间: |
|
查看次数: |
23392 次 |
最近记录: |