asp.net-mvc - MVC antiforgerytoken 部分 View

标签 asp.net-mvc asp.net-mvc-5 partial-views antiforgerytoken

我有一个包含两个部分 View A 和 B 的 MVC 页面。当我提交部分 View B 时,仅在第一次出现此错误。

The anti-forgery cookie token and form field token do not match.

第一次之后, View 效果完美。我已在代码页中添加了 [ValidateAntiForgeryToken] ,并在部分 View 中添加了 @Html.AntiForgeryToken()

当我从页面中删除部分 View A 时,B 正在正常工作,没有任何错误。

任何建议都会很有帮助。

最佳答案

当您具有[ValidateAntiForgeryToken]属性时,框架会执行以下操作

  1. 检查传入请求是否具有名为 __RequestVerificationToken 的 Cookie
  2. 检查传入请求是否具有名为 __RequestVerificationTokenRequest.Form 条目
  3. 检查 cookie 和 Request.Form 值是否匹配

由于上述过程,一个页面只能有一个有效的 AntiForgery token 。

详情查看http://blog.stevensanderson.com/2008/09/01/prevent-cross-site-request-forgery-csrf-using-aspnet-mvcs-antiforgerytoken-helper/

关于asp.net-mvc - MVC antiforgerytoken 部分 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26166236/

相关文章:

javascript - 资源的 url 路径

.net - 使用 jquery 填充下拉菜单并设置从 .NET SelectList 中选择的内容

asp.net-mvc - 为什么 Razor 中还需要 lambda 表示法?

javascript - 将登录页面从 angularjs 重定向到欢迎页面

c# - 如何在 PartialViews 内连接使用 HtmlHelper 扩展生成的 JavaScript 并添加到父 View ?

javascript - JQuery Autocomplete GET 和 JSON 数组数据安全问题

asp.net - 为什么 Azure Web 角色上的 IIS 需要如此频繁地重新编译 ASP.NET 应用程序?

asp.net-mvc-5 - 未找到 View 'name' 或其主视图,或者没有 View 引擎支持搜索的位置

asp.net-mvc-4 - 从局部 View 向 View 头部添加 css、js 或其他内容

asp.net-mvc - ASP.NET MVC 强类型部分 View ,给出无法加载类型错误