From 26301f6fa96beaf12d780a2c64b0232842d3d22b Mon Sep 17 00:00:00 2001 From: chenbingxuan <3581044601@qq.com> Date: Mon, 8 Jan 2024 22:41:31 +0800 Subject: [PATCH] =?UTF-8?q?auth=E7=99=BB=E5=BD=95=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../doctor/auth/controller/HealthController.java | 4 ++-- .../doctor/common/core/constant/TokenConstants.java | 3 ++- .../main/java/doctor/gateway/filter/AuthFilter.java | 13 +++++++++++-- doctor-modules/doctor-health/pom.xml | 1 + ...pplication.java => DoctorHealthApplication.java} | 4 ++-- 5 files changed, 18 insertions(+), 7 deletions(-) rename doctor-modules/doctor-health/src/main/java/doctor/{HealthApplication.java => DoctorHealthApplication.java} (91%) diff --git a/doctor-auth/src/main/java/doctor/auth/controller/HealthController.java b/doctor-auth/src/main/java/doctor/auth/controller/HealthController.java index f5d2bd0..e8432be 100644 --- a/doctor-auth/src/main/java/doctor/auth/controller/HealthController.java +++ b/doctor-auth/src/main/java/doctor/auth/controller/HealthController.java @@ -6,8 +6,8 @@ import org.springframework.web.bind.annotation.RestController; @RestController public class HealthController { - @Autowired - private HealthService healthService; +// @Autowired +// private HealthService healthService; } diff --git a/doctor-common/doctor-common-core/src/main/java/doctor/common/core/constant/TokenConstants.java b/doctor-common/doctor-common-core/src/main/java/doctor/common/core/constant/TokenConstants.java index 79f3e02..a3155f8 100644 --- a/doctor-common/doctor-common-core/src/main/java/doctor/common/core/constant/TokenConstants.java +++ b/doctor-common/doctor-common-core/src/main/java/doctor/common/core/constant/TokenConstants.java @@ -2,7 +2,7 @@ package doctor.common.core.constant; /** * Token的Key常量 - * + * * @author ruoyi */ public class TokenConstants @@ -11,6 +11,7 @@ public class TokenConstants * 令牌自定义标识 */ public static final String AUTHENTICATION = "Authorization"; + public static final String SESSIONID = "SESSIONID"; /** * 令牌前缀 diff --git a/doctor-gateway/src/main/java/doctor/gateway/filter/AuthFilter.java b/doctor-gateway/src/main/java/doctor/gateway/filter/AuthFilter.java index 2bf460d..a924cb3 100644 --- a/doctor-gateway/src/main/java/doctor/gateway/filter/AuthFilter.java +++ b/doctor-gateway/src/main/java/doctor/gateway/filter/AuthFilter.java @@ -23,7 +23,7 @@ import reactor.core.publisher.Mono; /** * 网关鉴权 - * + * * @author ruoyi */ @Component @@ -46,12 +46,14 @@ public class AuthFilter implements GlobalFilter, Ordered ServerHttpRequest.Builder mutate = request.mutate(); String url = request.getURI().getPath(); + // 跳过不需要验证的路径 if (StringUtils.matches(url, ignoreWhite.getWhites())) { return chain.filter(exchange); } String token = getToken(request); + if (StringUtils.isEmpty(token)) { return unauthorizedResponse(exchange, "令牌不能为空"); @@ -119,6 +121,13 @@ public class AuthFilter implements GlobalFilter, Ordered private String getToken(ServerHttpRequest request) { String token = request.getHeaders().getFirst(TokenConstants.AUTHENTICATION); + if (StringUtils.isNotEmpty(token)) + { + token = request.getQueryParams().getFirst(TokenConstants.SESSIONID); + } + if(StringUtils.isNotEmpty(token)){ + request.getHeaders().set(TokenConstants.SESSIONID,token); + } // 如果前端设置了令牌前缀,则裁剪掉前缀 if (StringUtils.isNotEmpty(token) && token.startsWith(TokenConstants.PREFIX)) { @@ -132,4 +141,4 @@ public class AuthFilter implements GlobalFilter, Ordered { return -200; } -} \ No newline at end of file +} diff --git a/doctor-modules/doctor-health/pom.xml b/doctor-modules/doctor-health/pom.xml index 917447d..d9360ce 100644 --- a/doctor-modules/doctor-health/pom.xml +++ b/doctor-modules/doctor-health/pom.xml @@ -75,6 +75,7 @@ doctor-common-swagger + diff --git a/doctor-modules/doctor-health/src/main/java/doctor/HealthApplication.java b/doctor-modules/doctor-health/src/main/java/doctor/DoctorHealthApplication.java similarity index 91% rename from doctor-modules/doctor-health/src/main/java/doctor/HealthApplication.java rename to doctor-modules/doctor-health/src/main/java/doctor/DoctorHealthApplication.java index 578bb85..af201ab 100644 --- a/doctor-modules/doctor-health/src/main/java/doctor/HealthApplication.java +++ b/doctor-modules/doctor-health/src/main/java/doctor/DoctorHealthApplication.java @@ -10,10 +10,10 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; @EnableCustomSwagger2 @EnableRyFeignClients @SpringBootApplication -public class HealthApplication { +public class DoctorHealthApplication { public static void main(String[] args) { - SpringApplication.run(HealthApplication.class, args); + SpringApplication.run(DoctorHealthApplication.class, args); System.out.println("(♥◠‿◠)ノ゙ 健康服务启动成功 ლ(´ڡ`ლ)゙ \n" + " .-------. ____ __ \n" + " | _ _ \\ \\ \\ / / \n" +