我有一个MVC2应用程序。 我正在尝试使用AntiForgeryToken助手实现CSRF攻击的防御。
我正在使用Steve Sanderson的博客来实现:http://blog.stevensanderson.com/2008/09/01/prevent-cross-site-request-forgery-csrf-using-aspnet-mvcs-antiforgerytoken-helper/ 当我在NEW MVC2项目中实现它时,它有效。 但是当我将相同的代码放入我的REAL应用程序中时,它总是抛出此异常:“未提供或无效的所需防伪令牌。”
这是我的控制器代码:
我正在使用Steve Sanderson的博客来实现:http://blog.stevensanderson.com/2008/09/01/prevent-cross-site-request-forgery-csrf-using-aspnet-mvcs-antiforgerytoken-helper/ 当我在NEW MVC2项目中实现它时,它有效。 但是当我将相同的代码放入我的REAL应用程序中时,它总是抛出此异常:“未提供或无效的所需防伪令牌。”
这是我的控制器代码:
[ValidateAntiForgeryToken]
public ActionResult SubmitUpdate()
{
// Something goes here
return View();
}
视图中的代码:
<% using (Html.BeginForm("SubmitUpdate", "Test"))
{%>
<%= Html.AntiForgeryToken() %>
<input type="submit" value="Submit" />
<% } %>
这两个应用程序没有任何区别,只是真正的应用程序使用ADFS进行身份验证。我错过了什么?非常感谢任何帮助。谢谢!