diff --git a/tashow-module/tashow-module-app/pom.xml b/tashow-module/tashow-module-app/pom.xml
index 29e4b48..dfa0c20 100644
--- a/tashow-module/tashow-module-app/pom.xml
+++ b/tashow-module/tashow-module-app/pom.xml
@@ -24,5 +24,9 @@
com.tashow.cloud
tashow-data-redis
+
+ com.tashow.cloud
+ tashow-framework-security
+
diff --git a/tashow-module/tashow-module-app/src/main/java/com/tashow/cloud/app/security/config/SecurityConfiguration.java b/tashow-module/tashow-module-app/src/main/java/com/tashow/cloud/app/security/config/SecurityConfiguration.java
new file mode 100644
index 0000000..693e32b
--- /dev/null
+++ b/tashow-module/tashow-module-app/src/main/java/com/tashow/cloud/app/security/config/SecurityConfiguration.java
@@ -0,0 +1,50 @@
+package com.tashow.cloud.app.security.config;
+
+import com.tashow.cloud.infraapi.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 = "infraSecurityConfiguration")
+public class SecurityConfiguration {
+
+ @Value("${spring.boot.admin.context-path:''}")
+ private String adminSeverContextPath;
+
+ @Bean("infraAuthorizeRequestsCustomizer")
+ public AuthorizeRequestsCustomizer authorizeRequestsCustomizer() {
+ return new AuthorizeRequestsCustomizer() {
+
+ @Override
+ public void customize(AuthorizeHttpRequestsConfigurer.AuthorizationManagerRequestMatcherRegistry registry) {
+ // Swagger 接口文档
+ registry.requestMatchers("/v3/api-docs/**").permitAll()
+ .requestMatchers("/webjars/**").permitAll()
+ .requestMatchers("/swagger-ui").permitAll()
+ .requestMatchers("/swagger-ui/**").permitAll();
+ // 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();
+ // 文件读取
+ registry.requestMatchers(buildAdminApi("/infra/file/*/get/**")).permitAll();
+
+ // TODO 芋艿:这个每个项目都需要重复配置,得捉摸有没通用的方案
+ // RPC 服务的安全配置
+ registry.requestMatchers(ApiConstants.PREFIX + "/**").permitAll();
+ }
+
+ };
+ }
+
+}
diff --git a/tashow-module/tashow-module-app/src/main/java/com/tashow/cloud/app/security/core/package-info.java b/tashow-module/tashow-module-app/src/main/java/com/tashow/cloud/app/security/core/package-info.java
new file mode 100644
index 0000000..93a4969
--- /dev/null
+++ b/tashow-module/tashow-module-app/src/main/java/com/tashow/cloud/app/security/core/package-info.java
@@ -0,0 +1,4 @@
+/**
+ * 占位
+ */
+package com.tashow.cloud.app.security.core;
diff --git a/tashow-module/tashow-module-app/src/main/resources/application.yaml b/tashow-module/tashow-module-app/src/main/resources/application.yaml
index 7110ccb..e9de0d5 100644
--- a/tashow-module/tashow-module-app/src/main/resources/application.yaml
+++ b/tashow-module/tashow-module-app/src/main/resources/application.yaml
@@ -1,5 +1,5 @@
server:
- port: 48082
+ port: 48083
spring:
application:
name: app-server