From 261a8b47973d9b5e0b5836411154ad1f582b255c Mon Sep 17 00:00:00 2001 From: xuelijun <977662702@qq.com> Date: Wed, 29 Oct 2025 16:48:35 +0800 Subject: [PATCH] =?UTF-8?q?=E5=95=86=E5=93=81=E8=AF=A6=E6=83=851?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../config/ProdSecurityConfiguration.java | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/security/config/ProdSecurityConfiguration.java diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/security/config/ProdSecurityConfiguration.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/security/config/ProdSecurityConfiguration.java new file mode 100644 index 0000000..c83495f --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/security/config/ProdSecurityConfiguration.java @@ -0,0 +1,43 @@ +package com.tashow.cloud.product.security.config; + +import com.tashow.cloud.productapi.enums.ApiConstants; +import com.tashow.cloud.security.security.config.AuthorizeRequestsCustomizer; +import org.springframework.beans.factory.annotation.Value; +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.AuthorizeHttpRequestsConfigurer; + +/** + * Infra 模块的 Security 配置 + */ +@Configuration(proxyBeanMethods = false, value = "prodSecurityConfiguration") +public class ProdSecurityConfiguration { + + @Value("${spring.boot.admin.context-path:''}") + private String adminSeverContextPath; + + @Bean("prodAuthorizeRequestsCustomizer") + public AuthorizeRequestsCustomizer authorizeRequestsCustomizer() { + return new AuthorizeRequestsCustomizer() { + + @Override + public void customize(AuthorizeHttpRequestsConfigurer.AuthorizationManagerRequestMatcherRegistry registry) { + // Spring Boot Actuator 的安全配置 + registry.requestMatchers("/actuator").permitAll() + .requestMatchers("/actuator/**").permitAll(); + // Druid 监控 + registry.requestMatchers("/druid/**").permitAll(); + // Spring Boot Admin Server 的安全配置 + registry.requestMatchers(adminSeverContextPath).permitAll() + .requestMatchers(adminSeverContextPath + "/**").permitAll(); + + // TODO 芋艿:这个每个项目都需要重复配置,得捉摸有没通用的方案 + // RPC 服务的安全配置 + registry.requestMatchers(ApiConstants.PREFIX + "/**").permitAll(); + } + + }; + } + +}