/// <summary> /// /// </summary> /// <param name="context"></param> /// <returns></returns> public async Task Invoke(HttpContext context) { try { await _next(context); } catch (Exception ex) //发生异常 { context.Response.StatusCode = 500; LogUtil.Error($"response exception:{ex.Message}");// {ex.StackTrace} await ResponseUtil.HandleExceptionAsync(500, "服务器错误"); } }
public Task Invoke(HttpContext context) { if (context.Request.Method == "OPTIONS") { return(_next(context)); } var headers = context.Request.Headers; //检查头文件是否有jwt token if (!headers.ContainsKey("Authorization")) { string path = context.Request.Path.Value; if (!AprilConfig.AllowUrl.Contains(path) && path.IndexOf("swagger") < 0) { //这里做下相关的身份校验 return(ResponseUtil.HandleExceptionAsync(401, "请登录")); //判断是否有权限查看(在身份验证后判断对应的权限,这个方法后续再写) return(ResponseUtil.HandleExceptionAsync(-2, "无权访问")); } } return(_next(context)); }