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)); }