今天在开发asp.net mvc进行get时,提示错误:此请求已被阻止,因为当用在 GET 请求中时,会将敏感信息透漏给第三方网站。若要允许 GET 请求,请将 JsonRequestBehavior 设置为 AllowGet.
这个就比较烦了,要在每个get请求方法设置一下允许Get就太low,有没有一劳永逸的办法,当然有啦!
asp.net mvc 全局设置JsonRequestBehavior.AllowGet,代码如下:
public class JsonRequestBehaviorAttribute : ActionFilterAttribute
{
private JsonRequestBehavior Behavior { get; set; }
public JsonRequestBehaviorAttribute()
{
Behavior = JsonRequestBehavior.AllowGet;
}
public override void OnResultExecuting(ResultExecutingContext filterContext)
{
var result = filterContext.Result as JsonResult;
if (result != null)
{
result.JsonRequestBehavior = Behavior;
}
}
}
然后在Controller加上[JsonRequestBehavior],如下:
[JsonRequestBehavior]
public class BaseController : Controller
{
}
不过人家微软说了,这样会导致信息泄露,如果只是一两允许Get,就直接设置得了.
以上就是【asp.net mvc 全局设置JsonRequestBehavior.AllowGet】的全部内容了,欢迎留言评论进行交流!