asp.net mvc如何全局设置JsonRequestBehavior.AllowGet

 所属分类:ASP.NET教程

 浏览:557次-  评论: 0次-  更新时间:2020-10-04
描述:今天在开发asp.net mvc进行get时,提示错误:此请求已被阻止,因为当用在 GET 请求中时,会将敏感信息透漏给第三方网站。若要允许 GET ...

今天在开发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,就直接设置得了.

积分说明:注册即送10金币,每日签到可获得更多金币,成为VIP会员可免金币下载! 充值积分充值会员更多说明»

讨论这个素材(0)回答他人问题或分享使用心得奖励金币

〒_〒 居然一个评论都没有……

表情  文明上网,理性发言!