From 00c2fffad1af3ca584bb2d0b257eccfa018de03a Mon Sep 17 00:00:00 2001 From: meowrain Date: Fri, 21 Nov 2025 00:11:15 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E7=BD=91=E5=85=B3?= =?UTF-8?q?=E7=99=BD=E5=90=8D=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gateway/AIOJGatewayApplication.java | 3 +++ .../GatewayPropertiesConfiguration.java | 14 ++++++++++ .../gateway/filter/AuthGlobalFilter.java | 27 +++++++++++++++++++ 3 files changed, 44 insertions(+) create mode 100644 aioj-backend-gateway/src/main/java/cn/meowrain/aioj/backend/gateway/config/GatewayPropertiesConfiguration.java create mode 100644 aioj-backend-gateway/src/main/java/cn/meowrain/aioj/backend/gateway/filter/AuthGlobalFilter.java diff --git a/aioj-backend-gateway/src/main/java/cn/meowrain/aioj/backend/gateway/AIOJGatewayApplication.java b/aioj-backend-gateway/src/main/java/cn/meowrain/aioj/backend/gateway/AIOJGatewayApplication.java index 2d3e349..0a32db4 100644 --- a/aioj-backend-gateway/src/main/java/cn/meowrain/aioj/backend/gateway/AIOJGatewayApplication.java +++ b/aioj-backend-gateway/src/main/java/cn/meowrain/aioj/backend/gateway/AIOJGatewayApplication.java @@ -1,8 +1,11 @@ package cn.meowrain.aioj.backend.gateway; +import cn.meowrain.aioj.backend.gateway.config.GatewayPropertiesConfiguration; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.context.properties.EnableConfigurationProperties; +@EnableConfigurationProperties(value = {GatewayPropertiesConfiguration.class}) @SpringBootApplication public class AIOJGatewayApplication { public static void main(String[] args) { diff --git a/aioj-backend-gateway/src/main/java/cn/meowrain/aioj/backend/gateway/config/GatewayPropertiesConfiguration.java b/aioj-backend-gateway/src/main/java/cn/meowrain/aioj/backend/gateway/config/GatewayPropertiesConfiguration.java new file mode 100644 index 0000000..743132d --- /dev/null +++ b/aioj-backend-gateway/src/main/java/cn/meowrain/aioj/backend/gateway/config/GatewayPropertiesConfiguration.java @@ -0,0 +1,14 @@ +package cn.meowrain.aioj.backend.gateway.config; + +import lombok.Data; +import org.springframework.boot.context.properties.ConfigurationProperties; + +@ConfigurationProperties(prefix = GatewayPropertiesConfiguration.PREFIX) +@Data +public class GatewayPropertiesConfiguration { + public static final String PREFIX = "aioj-backend-gateway"; + /* + * 白名单放行 + * */ + private String[] whiteList; +} diff --git a/aioj-backend-gateway/src/main/java/cn/meowrain/aioj/backend/gateway/filter/AuthGlobalFilter.java b/aioj-backend-gateway/src/main/java/cn/meowrain/aioj/backend/gateway/filter/AuthGlobalFilter.java new file mode 100644 index 0000000..913c00d --- /dev/null +++ b/aioj-backend-gateway/src/main/java/cn/meowrain/aioj/backend/gateway/filter/AuthGlobalFilter.java @@ -0,0 +1,27 @@ +package cn.meowrain.aioj.backend.gateway.filter; + +import lombok.RequiredArgsConstructor; +import org.springframework.cloud.gateway.filter.GatewayFilterChain; +import org.springframework.cloud.gateway.filter.GlobalFilter; +import org.springframework.core.Ordered; +import org.springframework.stereotype.Component; +import org.springframework.web.reactive.function.client.WebClient; +import org.springframework.web.server.ServerWebExchange; +import reactor.core.publisher.Mono; + +@Component +@RequiredArgsConstructor +public class AuthGlobalFilter implements GlobalFilter, Ordered { + + private final WebClient.Builder webClientBuilder; + + @Override + public Mono filter(ServerWebExchange exchange, GatewayFilterChain chain) { + return null; + } + + @Override + public int getOrder() { + return 0; + } +}