feat:网关

This commit is contained in:
xiang
2026-03-19 22:37:22 +08:00
parent 3e4a903554
commit 3aa39d37ce
3 changed files with 35 additions and 53 deletions

23
pom.xml
View File

@@ -3,9 +3,9 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>com.xiang</groupId>
<artifactId>xservice-basic</artifactId>
<version>1.1</version>
<groupId>com.xiang.pom</groupId>
<artifactId>xmc-web-starter</artifactId>
<version>1.0</version>
</parent>
<packaging>pom</packaging>
<modules>
@@ -69,18 +69,17 @@
<artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>
<dependency>
<groupId>com.xiang</groupId>
<artifactId>xservice-parent-starter</artifactId>
<version>2.0</version>
<groupId>com.xiang.starter</groupId>
<artifactId>xmc-common</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>com.xiang</groupId>
<artifactId>xservice-security-starter</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<!-- <dependency>-->
<!-- <groupId>com.xiang</groupId>-->
<!-- <artifactId>xservice-security-starter</artifactId>-->
<!-- <version>1.0-SNAPSHOT</version>-->
<!-- </dependency>-->
</dependencies>
<build>

View File

@@ -1,24 +1,24 @@
package com.xiang.xservice.gateway.service.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.reactive.EnableWebFluxSecurity;
import org.springframework.security.config.web.server.ServerHttpSecurity;
import org.springframework.security.web.server.SecurityWebFilterChain;
@Configuration
@EnableWebFluxSecurity
public class GatewaySecurityConfig {
@Bean
public SecurityWebFilterChain springSecurityFilterChain(ServerHttpSecurity http) {
http
.authorizeExchange(exchanges -> exchanges
// ✅ 网关全放行
.anyExchange().permitAll()
)
.csrf(ServerHttpSecurity.CsrfSpec::disable); // 禁用 CSRF
return http.build();
}
}
//package com.xiang.xservice.gateway.service.config;
//
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//import org.springframework.security.config.annotation.web.reactive.EnableWebFluxSecurity;
//import org.springframework.security.config.web.server.ServerHttpSecurity;
//import org.springframework.security.web.server.SecurityWebFilterChain;
//
//@Configuration
//@EnableWebFluxSecurity
//public class GatewaySecurityConfig {
//
// @Bean
// public SecurityWebFilterChain springSecurityFilterChain(ServerHttpSecurity http) {
// http
// .authorizeExchange(exchanges -> exchanges
// // ✅ 网关全放行
// .anyExchange().permitAll()
// )
// .csrf(ServerHttpSecurity.CsrfSpec::disable); // 禁用 CSRF
//
// return http.build();
// }
//}

View File

@@ -1,8 +1,6 @@
package com.xiang.xservice.gateway.service.core;
import com.xiang.xservice.security.utils.TokenUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.gateway.filter.GatewayFilterChain;
import org.springframework.cloud.gateway.filter.GlobalFilter;
import org.springframework.core.Ordered;
@@ -17,9 +15,6 @@ import reactor.core.publisher.Mono;
@Component
public class AuthGlobalFilter implements GlobalFilter, Ordered {
@Autowired
private TokenUtils tokenUtils;
@Override
public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
ServerHttpRequest request = exchange.getRequest();
@@ -39,18 +34,6 @@ public class AuthGlobalFilter implements GlobalFilter, Ordered {
return exchange.getResponse().setComplete();
}
// try {
// if (!tokenUtils.validateToken(token)) {
// log.warn("❌ Token 校验失败: {}", token);
// exchange.getResponse().setStatusCode(HttpStatus.UNAUTHORIZED);
// return exchange.getResponse().setComplete();
// }
// } catch (Exception e) {
// log.error("❌ Token 校验异常", e);
// exchange.getResponse().setStatusCode(HttpStatus.UNAUTHORIZED);
// return exchange.getResponse().setComplete();
// }
log.info("✅ Token 校验通过: {}", token);
return chain.filter(exchange);
}