From f7b1b518525dd2254efea2931a3dc6b447080f89 Mon Sep 17 00:00:00 2001 From: wangwh <2397901735@qq.com> Date: Sat, 24 Aug 2024 11:25:37 +0800 Subject: [PATCH] 网关去掉开发配置 --- dyh-gateway/src/main/java/cn/huge/gateway/filter/AuthFilter.java | 75 +++++++++++++++++-------------------- 1 files changed, 35 insertions(+), 40 deletions(-) diff --git a/dyh-gateway/src/main/java/cn/huge/gateway/filter/AuthFilter.java b/dyh-gateway/src/main/java/cn/huge/gateway/filter/AuthFilter.java index d93e0cd..4396a41 100644 --- a/dyh-gateway/src/main/java/cn/huge/gateway/filter/AuthFilter.java +++ b/dyh-gateway/src/main/java/cn/huge/gateway/filter/AuthFilter.java @@ -69,56 +69,51 @@ */ @Override public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) { - //开发环境不校验 - if (SpringContextUtil.checkDev()){ - return chain.filter(exchange); - }else { - String url = exchange.getRequest().getURI().getPath(); - //跳过不需要验证的路径 - List<String> skipAuthUrlList = Arrays.asList(skipAuthUrls); - Boolean status = false; - if (!CollectionUtils.isEmpty(skipAuthUrlList)) { - for (String skipAuthUrl : skipAuthUrlList) { - if (url.indexOf(skipAuthUrl) != -1) { - status = true; - break; - } + String url = exchange.getRequest().getURI().getPath(); + //跳过不需要验证的路径 + List<String> skipAuthUrlList = Arrays.asList(skipAuthUrls); + Boolean status = false; + if (!CollectionUtils.isEmpty(skipAuthUrlList)) { + for (String skipAuthUrl : skipAuthUrlList) { + if (url.indexOf(skipAuthUrl) != -1) { + status = true; + break; } } - if (status) { - return chain.filter(exchange); + } + if (status) { + return chain.filter(exchange); + } else { + ReturnBO returnBO = new ReturnBO(); + //从请求头中取出token + String token = exchange.getRequest().getHeaders().getFirst("Authorization"); + //未携带token或token在黑名单内 + if (StringUtils.isEmpty(token) || isBlackToken(token)) { + ServerHttpResponse originalResponse = exchange.getResponse(); + originalResponse.setStatusCode(HttpStatus.OK); + originalResponse.getHeaders().add("Content-Type", "application/json;charset=UTF-8"); + returnBO.setCode(401); + returnBO.setMsg("您尚未登录,请登录后重试!"); + byte[] response = returnBO.toString().getBytes(StandardCharsets.UTF_8); + DataBuffer buffer = originalResponse.bufferFactory().wrap(response); + return originalResponse.writeWith(Flux.just(buffer)); } else { - ReturnBO returnBO = new ReturnBO(); - //从请求头中取出token - String token = exchange.getRequest().getHeaders().getFirst("Authorization"); - //未携带token或token在黑名单内 - if (StringUtils.isEmpty(token) || isBlackToken(token)) { + //取出token包含的身份 + returnBO = verifyJWT(token); + if (returnBO.getCode() != 0) { ServerHttpResponse originalResponse = exchange.getResponse(); originalResponse.setStatusCode(HttpStatus.OK); originalResponse.getHeaders().add("Content-Type", "application/json;charset=UTF-8"); - returnBO.setCode(401); - returnBO.setMsg("您尚未登录,请登录后重试!"); byte[] response = returnBO.toString().getBytes(StandardCharsets.UTF_8); DataBuffer buffer = originalResponse.bufferFactory().wrap(response); return originalResponse.writeWith(Flux.just(buffer)); } else { - //取出token包含的身份 - returnBO = verifyJWT(token); - if (returnBO.getCode() != 0) { - ServerHttpResponse originalResponse = exchange.getResponse(); - originalResponse.setStatusCode(HttpStatus.OK); - originalResponse.getHeaders().add("Content-Type", "application/json;charset=UTF-8"); - byte[] response = returnBO.toString().getBytes(StandardCharsets.UTF_8); - DataBuffer buffer = originalResponse.bufferFactory().wrap(response); - return originalResponse.writeWith(Flux.just(buffer)); - } else { - //将现在的request,添加当前身份 - String userId = (String) returnBO.getData(); - ServerHttpRequest mutableReq = null; - exchange.getRequest().mutate().header("Authorization-userId", userId).build(); - ServerWebExchange mutableExchange = exchange.mutate().request(mutableReq).build(); - return chain.filter(mutableExchange); - } + //将现在的request,添加当前身份 + String userId = (String) returnBO.getData(); + ServerHttpRequest mutableReq = null; + exchange.getRequest().mutate().header("Authorization-userId", userId).build(); + ServerWebExchange mutableExchange = exchange.mutate().request(mutableReq).build(); + return chain.filter(mutableExchange); } } } -- Gitblit v1.8.0