public override void OnActionExecuting(HttpActionContext filterContext) { string mes = ""; if (!filterContext.ModelState.IsValid) { StringBuilder errinfo = new StringBuilder(); foreach (var s in filterContext.ModelState.Values) { foreach (var p in s.Errors) { errinfo.AppendFormat("{0},", p.ErrorMessage); } } mes = errinfo.ToString().TrimEnd(','); filterContext.Response = filterContext.Request.CreateResponse(OutPutData.NewOutPutData(mes, false)); } base.OnActionExecuting(filterContext); }
public override void OnActionExecuting(HttpActionContext filterContext) { string token = ""; var request = ((HttpContextBase)filterContext.Request.Properties["MS_HttpContext"]).Request; token = request.Headers["token"]; if (string.IsNullOrEmpty(token)) { token = request.Params["token"]; } if (string.IsNullOrEmpty(token)) { filterContext.Response = filterContext.Request.CreateResponse(OutPutData.NewOutPutData("请授权", false)); return; } var JwtDictionary = JwtHelper.ValidateJwtToken(token); if (JwtDictionary == null) { filterContext.Response = filterContext.Request.CreateResponse(OutPutData.NewOutPutData("非法授权", false)); return; } if (string.IsNullOrEmpty(JwtDictionary["UserName"]) || string.IsNullOrEmpty(JwtDictionary["RandomNum"])) { filterContext.Response = filterContext.Request.CreateResponse(OutPutData.NewOutPutData("非法授权", false)); return; } if (!redisHelper.Exist(ConstData.UserLoginJwt + JwtDictionary["UserName"])) { filterContext.Response = filterContext.Request.CreateResponse(OutPutData.NewOutPutData("请重新登陆", false)); return; } var RedisJwtDictionary = JwtHelper.ValidateJwtToken(redisHelper.Get(ConstData.UserLoginJwt + JwtDictionary["UserName"])); if (RedisJwtDictionary["RandomNum"] != JwtDictionary["RandomNum"]) { filterContext.Response = filterContext.Request.CreateResponse(OutPutData.NewOutPutData("您的账号已在其他地方登陆", false)); return; } base.OnActionExecuting(filterContext); }
/// <summary> /// 返回成功结果 /// </summary> /// <param name="message"></param> /// <param name="data"></param> /// <returns></returns> public OutPutData Success(string message = "成功", object data = null) { return(OutPutData.NewOutPutData(message, true, data)); }
/// <summary> /// 返回失败结果 /// </summary> /// <param name="message"></param> /// <param name="data"></param> /// <returns></returns> public OutPutData Fail(string message = "失败", object data = null) { return(OutPutData.NewOutPutData(message, false, data)); }