From f826d117f8c880b25a064b33c95a61ba198463da Mon Sep 17 00:00:00 2001 From: YunaiV Date: Mon, 23 Oct 2023 19:47:19 +0800 Subject: [PATCH] =?UTF-8?q?statistics=EF=BC=9A=E5=A2=9E=E5=8A=A0=E7=BD=91?= =?UTF-8?q?=E5=85=B3=E8=BD=AC=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application.yaml | 16 +++++++++ .../statistics/framework/package-info.java | 6 ++++ .../config/SecurityConfiguration.java | 34 +++++++++++++++++++ .../framework/security/core/package-info.java | 4 +++ 4 files changed, 60 insertions(+) create mode 100644 yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/framework/package-info.java create mode 100644 yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/framework/security/config/SecurityConfiguration.java create mode 100644 yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/framework/security/core/package-info.java diff --git a/yudao-gateway/src/main/resources/application.yaml b/yudao-gateway/src/main/resources/application.yaml index d3ac74eae..0f5e204a7 100644 --- a/yudao-gateway/src/main/resources/application.yaml +++ b/yudao-gateway/src/main/resources/application.yaml @@ -123,6 +123,19 @@ spring: - Path=/app-api/trade/** filters: - RewritePath=/app-api/trade/v3/api-docs, /v3/api-docs + ## statistics-server 服务 + - id: statistics-admin-api # 路由的编号 + uri: grayLb://statistics-server + predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 + - Path=/admin-api/statistics/** + filters: + - RewritePath=/admin-api/statistics/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs + - id: statistics-app-api # 路由的编号 + uri: grayLb://statistics-server + predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 + - Path=/app-api/statistics/** + filters: + - RewritePath=/app-api/statistics/v3/api-docs, /v3/api-docs x-forwarded: prefix-enabled: false # 避免 Swagger 重复带上额外的 /admin-api/system 前缀 @@ -158,3 +171,6 @@ knife4j: - name: trade-server service-name: trade-server url: /admin-api/trade/v3/api-docs + - name: statistics-server + service-name: statistics-server + url: /admin-api/statistics/v3/api-docs diff --git a/yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/framework/package-info.java b/yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/framework/package-info.java new file mode 100644 index 000000000..032d7a91b --- /dev/null +++ b/yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/framework/package-info.java @@ -0,0 +1,6 @@ +/** + * 属于 statistics 模块的 framework 封装 + * + * @author 芋道源码 + */ +package cn.iocoder.yudao.module.statistics.framework; diff --git a/yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/framework/security/config/SecurityConfiguration.java b/yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/framework/security/config/SecurityConfiguration.java new file mode 100644 index 000000000..5fa5376b5 --- /dev/null +++ b/yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/framework/security/config/SecurityConfiguration.java @@ -0,0 +1,34 @@ +package cn.iocoder.yudao.module.statistics.framework.security.config; + +import cn.iocoder.yudao.framework.security.config.AuthorizeRequestsCustomizer; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.config.annotation.web.configurers.ExpressionUrlAuthorizationConfigurer; + +/** + * Statistics 模块的 Security 配置 + */ +@Configuration("statisticsSecurityConfiguration") +public class SecurityConfiguration { + + @Bean("statisticsAuthorizeRequestsCustomizer") + public AuthorizeRequestsCustomizer authorizeRequestsCustomizer() { + return new AuthorizeRequestsCustomizer() { + + @Override + public void customize(ExpressionUrlAuthorizationConfigurer.ExpressionInterceptUrlRegistry registry) { + // Swagger 接口文档 + registry.antMatchers("/v3/api-docs/**").permitAll() // 元数据 + .antMatchers("/swagger-ui.html").permitAll(); // Swagger UI + // Spring Boot Actuator 的安全配置 + registry.antMatchers("/actuator").anonymous() + .antMatchers("/actuator/**").anonymous(); + // Druid 监控 + registry.antMatchers("/druid/**").anonymous(); + } + + }; + } + +} diff --git a/yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/framework/security/core/package-info.java b/yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/framework/security/core/package-info.java new file mode 100644 index 000000000..01062c49e --- /dev/null +++ b/yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/framework/security/core/package-info.java @@ -0,0 +1,4 @@ +/** + * 占位 + */ +package cn.iocoder.yudao.module.statistics.framework.security.core;