过滤器

public class AppAuthorFilterAttribute : ActionFilterAttribute
    {
        private readonly string _appid;

        public AppAuthorFilterAttribute(string appid)
        {
            _appid = appid;
        }

        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            var request = filterContext.RequestContext.HttpContext.Request;
            string paraAppid;
            if (request.HttpMethod == "GET")
                paraAppid = request.Params[_appid];
            else
                paraAppid = request.Form[_appid];
            if (paraAppid == "-1") filterContext.Result = new JsonResult() { Data = new { code = 0, msg = "无权限" } };
            var checkResult = CheckAppAuth(filterContext.RequestContext.HttpContext.Request, paraAppid);
            if (!checkResult)
                filterContext.Result = new JsonResult() { Data = new { code = 0, msg = "无权限" } };
        }

        /// <summary>
        /// 检查应用权限
        /// </summary>
        /// <param name="appid"></param>
        /// <returns></returns>
        public bool CheckAppAuth(HttpRequestBase Request, string appid)
        {
            if (Request.UrlReferrer == null) return false;
return true;
        }
    }

使用

        [AppAuthorFilter("appid")]
        public ActionResult PageList(string appid = null)
        {
            var list = InfoService.PageList(appid);           
            return Json(ResultMessage.Ok(list));
        }
原文地址:https://www.cnblogs.com/nayilvyangguang/p/13361463.html