Example #1
0
        public static ResultDataWrapper <T> Create <T>(System.Net.HttpStatusCode code, string msg, string errormsg, T data)
        {
            ResultDataWrapper <T> resultData = new ResultDataWrapper <T>()
            {
                code     = code,
                errormsg = errormsg,
                msg      = msg,
                data     = data
            };

            return(resultData);
        }
Example #2
0
        public async Task ExecuteExceptionFilterAsync(System.Web.Http.Filters.HttpActionExecutedContext actionExecutedContext, CancellationToken cancellationToken)
        {
            string msg   = "服务器忙,请联系管理员";
            var    error = actionExecutedContext.Exception as HaishanException;

            if (error != null)
            {
                msg = error.Message;
            }
            var data = ResultDataWrapper.Error(msg, actionExecutedContext.Exception.Message);

            actionExecutedContext.Response = actionExecutedContext.Request.CreateResponse(System.Net.HttpStatusCode.OK, data);
        }
Example #3
0
        public override void OnAuthorization(HttpActionContext actionContext)
        {
            var authHeader = actionContext.Request.Headers.FirstOrDefault(x => x.Key == "auth").Value;

            authHeader = authHeader ?? new List <string>();
            string token = authHeader.FirstOrDefault();

            if (string.IsNullOrEmpty(token))
            {
                var data = ResultDataWrapper.Create(System.Net.HttpStatusCode.Unauthorized, "请登陆后再访问", string.Empty);
                actionContext.Response = actionContext.Request.CreateResponse(System.Net.HttpStatusCode.OK, data);
                return;
            }
            var userInfoWrapper = (UserInfoWrapper)actionContext.Request.GetDependencyScope().GetService(typeof(UserInfoWrapper));

            userInfoWrapper.JwtData = JwtHelper.Decode <JwtData>(token);
            if (userInfoWrapper.JwtData.ValidateTimeout())
            {
                var data = ResultDataWrapper.Create(System.Net.HttpStatusCode.Unauthorized, "登陆信息已过期", string.Empty);
                actionContext.Response = actionContext.Request.CreateResponse(System.Net.HttpStatusCode.OK, data);
                return;
            }
            userInfoWrapper.UserInfo = UserInfo.lstUserInfo.First(x => x.Id == userInfoWrapper.JwtData.Id);
        }