【发布时间】:2016-08-28 17:20:14
【问题描述】:
我指的是在我的 Web 应用程序中实现防伪的以下链接。
$.ajaxAntiForgery({
type: "POST",
url: "sampleapp",
contentType: false,
processData: false,
cache: false,
success: function (result) { }
});
令牌是按照文档中的描述创建的,但在代码隐藏中它会在下面的行中引发错误。
public abstract class BaseController : Controller
{
private readonly ValidateAntiForgeryTokenAttribute _validator;
private readonly AcceptVerbsAttribute _verbs;
protected BaseController (HttpVerbs verbs)
{
this._verbs = new AcceptVerbsAttribute(verbs);
this._validator = new ValidateAntiForgeryTokenAttribute();
}
protected override void OnAuthorization(AuthorizationContext filterContext)
{
base.OnAuthorization(filterContext);
string httpMethodOverride = filterContext.HttpContext.Request.GetHttpMethodOverride();
if (this._verbs.Verbs.Contains(httpMethodOverride, StringComparer.OrdinalIgnoreCase))
{
this._validator.OnAuthorization(filterContext);
}
}
}
【问题讨论】:
标签: c# asp.net-mvc antiforgerytoken