/// <summary> /// 验证权限 /// </summary> /// <param name="filterContext"></param> public override void OnActionExecuting(ActionExecutingContext context) { //如果存在身份信息 if (Current.CurrentUser != null) { if (Code == AuthCodeEnum.Public) { return; } } else { if (Code == AuthCodeEnum.Public) { return; } var result = new ResultModelT <String> { body = "", success = false, code = System.Net.HttpStatusCode.Unauthorized, message = "请重新登陆", }; context.Result = new BadRequestObjectResult(JsonHelper.SerializeJSON(result)); } }
public override OkObjectResult Ok([ActionResultObjectValue] object value) { var result = new ResultModelT <object>(); result.Success("请求成功", value); return(base.Ok(result)); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddControllers(); #region Swagger services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new OpenApiInfo { Version = "v1.1.0", Title = "WebAPI", Description = "WebAPI" }); }); #endregion //模型绑定 特性验证,自定义返回格式 services.Configure <ApiBehaviorOptions>(options => { options.InvalidModelStateResponseFactory = actionContext => { //获取验证失败的模型字段 var errors = actionContext.ModelState .Where(e => e.Value.Errors.Count > 0) .Select(e => e.Value.Errors.First().ErrorMessage) .ToList(); var str = string.Join("|", errors); //设置返回内容 var result = new ResultModelT <String> { code = System.Net.HttpStatusCode.BadRequest, success = false, body = "", message = str, totalCount = 0 }; return(new BadRequestObjectResult(result)); }; }); services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>(); services.AddControllers().AddControllersAsServices(); //redis var redisConnectionString = ((ConfigurationSection)Configuration.GetSection("RedisConnectionStrings:Connection")).Value; var redisInstanceName = ((ConfigurationSection)Configuration.GetSection("RedisConnectionStrings:InstanceName")).Value; services.AddSingleton(new RedisCacheHelper(redisConnectionString, redisInstanceName)); }