/// <summary>
        /// 复写父类的该方法。执行控制器中的方法之前先执行该方法。从而实现过滤的功能。
        /// </summary>
        /// <param name="filterContext"></param>
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            //调用父类的该方法。
            base.OnActionExecuting(filterContext);
            begintime     = DateTime.Now;
            requestHeader = new ApiRequestHeader();
            var headers = Request.Headers;

            //获取nginx代理配置的客户ip信息 ---nginx必须配置 proxy set header X-Real-IP $remote addr
            ipaddress = filterContext.HttpContext.Request.Headers["X-Real-IP"].FirstOrDefault();
            if (ipaddress.IsNullOrEmpty())
            {
                //获取IP地址
                ipaddress = filterContext.HttpContext.Connection.RemoteIpAddress.ToString();
            }
            //获取登录用户信息
            loginUser = this.GetUserInfo();
            //获取请求来源信息
            userAppLyInfo = this.GetUserAppLyInfo();
        }
        /// <summary>
        /// 从请求头信息中获取不解密加密请求的消息信息
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        private ResponseModel GetNoEnRequestHeaderData(HttpContext context)
        {
            //请求头信息验证未通过
            var resultobj = new ResponseModel(ResponseCode.BadRequest, "头信息验证失败");
            //实例化接口请求头信息
            var requestHeader = new ApiRequestHeader(context, false);

            if (requestHeader == null)
            {
                return(resultobj);
            }
            var msg = "";

            //请求验签成功
            resultobj.code = ResponseCode.Success.ToInt32();
            resultobj.msg  = "请求验证成功";
            //return resultobj;

            //判断必填参数
            var required_result = RequiredAttribute.ValidateRequired(requestHeader, ref msg);

            //必填验证通过
            if (!required_result)
            {
                resultobj.msg = msg + "当前验证无法通过";
                return(resultobj);
            }
            //获取平台所有的应用信息
            var userinfo_key = "applyitems";
            var applyItems   = CacheManager.Create().Get <List <AppLyInfo> >(userinfo_key);

            if (applyItems == null || !applyItems.Any())
            {
                //数据库获取应用信息
                applyItems = this.Query <AppLyInfo>()
                             .Where("数据标识", 1)
                             .GetModelList();
                if (applyItems != null && applyItems.Any())
                {
                    var obj = CacheManager.Create().Set(userinfo_key, applyItems);
                }
            }
            if (applyItems == null || !applyItems.Any())
            {
                resultobj.msg = msg + "没有找到平台的应用信息";
                return(resultobj);
            }
            //获取请求的平台应用信息
            var applyInfo = applyItems.FirstOrDefault(t => t.APPID == requestHeader.appid);

            if (applyInfo == null)
            {
                resultobj.msg = requestHeader.appid + "非法!";
                return(resultobj);
            }
            else
            {
                //缓存当前登录的应用信息
                UserAppLyInfo userAppLyInfo = new UserAppLyInfo()
                {
                    app_id      = applyInfo.APPID,
                    app_name    = applyInfo.应用名称,
                    private_key = applyInfo.私钥,
                    public_key  = applyInfo.公钥,
                    sourse      = applyInfo.使用平台
                };
                var userApplyinfo_key = "user_applyitem:" + requestHeader.appid;
                var obj = CacheManager.Create().Set(userApplyinfo_key, userAppLyInfo.ToJson());
                //请求验签成功
                resultobj.code = ResponseCode.Success.ToInt32();
                resultobj.msg  = "请求验证成功";
            }
            return(resultobj);
        }