Beispiel #1
0
 /// <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, "服务器错误");
     }
 }
Beispiel #2
0
        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));
        }