/// <summary> /// Action执行之前执行 /// </summary> /// <param name="filterContext"></param> public void OnActionExecuting(ActionExecutingContext filterContext) { CheckSignBusiness _checkSignBusiness = new CheckSignBusiness(); //若为本地测试,则不需要校验 if (GlobalSwitch.RunModel == RunModel.LocalTest) { return; } //判断是否需要签名 bool needSign = filterContext.ContainsAttribute <CheckSignAttribute>() && !filterContext.ContainsAttribute <IgnoreSignAttribute>(); //不需要签名 if (!needSign) { return; } //需要签名 var checkSignRes = _checkSignBusiness.IsSecurity(filterContext.HttpContext.ApplicationInstance.Context); if (!checkSignRes.Success) { filterContext.Result = new ContentResult() { Content = checkSignRes.ToJson() }; } }
/// <summary> /// Action执行之前执行 /// </summary> /// <param name="filterContext"></param> public void OnActionExecuting(ActionExecutingContext filterContext) { CheckSignBusiness _checkSignBusiness = new CheckSignBusiness(); //若为本地测试,则不需要校验 if (GlobalSwitch.RunModel == RunModel.LocalTest) { return; } //判断是否需要签名 List <string> attrList = FilterHelper.GetFilterList(filterContext); bool needSign = attrList.Contains(typeof(CheckSignAttribute).FullName) && !attrList.Contains(typeof(IgnoreSignAttribute).FullName); //不需要签名 if (!needSign) { return; } //需要签名 if (!_checkSignBusiness.IsSecurity(filterContext.HttpContext)) { AjaxResult res = new AjaxResult { Msg = "签名校验失败!拒绝访问!", Success = false }; filterContext.Result = new ContentResult() { Content = res.ToJson() }; } }
public CheckSignAttribute() { _checkSignBusiness = new CheckSignBusiness(Ioc.DefaultContainer.GetService <IDbContextCore>()); }