From 68fbc8fef1ba8d77472e6b849c9265fff751ec31 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期三, 31 一月 2024 17:23:47 +0800
Subject: [PATCH] 优化跨域配置,默认允许全部跨域

---
 src/main/java/com/genersoft/iot/vmp/conf/security/WebSecurityConfig.java |   13 ++++++++++---
 src/main/resources/application-dev.yml                                   |    4 ----
 src/main/resources/all-application.yml                                   |    2 +-
 3 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/conf/security/WebSecurityConfig.java b/src/main/java/com/genersoft/iot/vmp/conf/security/WebSecurityConfig.java
index ee147f1..bbf9eb1 100644
--- a/src/main/java/com/genersoft/iot/vmp/conf/security/WebSecurityConfig.java
+++ b/src/main/java/com/genersoft/iot/vmp/conf/security/WebSecurityConfig.java
@@ -1,12 +1,12 @@
 package com.genersoft.iot.vmp.conf.security;
 
 import com.genersoft.iot.vmp.conf.UserSetting;
-import org.springframework.core.annotation.Order;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.core.annotation.Order;
 import org.springframework.security.authentication.AuthenticationManager;
 import org.springframework.security.authentication.dao.DaoAuthenticationProvider;
 import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
@@ -25,6 +25,7 @@
 
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collections;
 
 /**
  * 閰嶇疆Spring Security
@@ -129,8 +130,14 @@
         corsConfiguration.setAllowedHeaders(Arrays.asList("*"));
         corsConfiguration.setAllowedMethods(Arrays.asList("*"));
         corsConfiguration.setMaxAge(3600L);
-        corsConfiguration.setAllowCredentials(true);
-        corsConfiguration.setAllowedOrigins(userSetting.getAllowedOrigins());
+        if (userSetting.getAllowedOrigins() != null && !userSetting.getAllowedOrigins().isEmpty()) {
+            corsConfiguration.setAllowCredentials(true);
+            corsConfiguration.setAllowedOrigins(userSetting.getAllowedOrigins());
+        }else {
+            corsConfiguration.setAllowCredentials(false);
+            corsConfiguration.setAllowedOrigins(Collections.singletonList(CorsConfiguration.ALL));
+        }
+
         corsConfiguration.setExposedHeaders(Arrays.asList(JwtUtils.getHeader()));
 
         UrlBasedCorsConfigurationSource url = new UrlBasedCorsConfigurationSource();
diff --git a/src/main/resources/all-application.yml b/src/main/resources/all-application.yml
index 1384bd3..528bd1a 100644
--- a/src/main/resources/all-application.yml
+++ b/src/main/resources/all-application.yml
@@ -237,7 +237,7 @@
     register-again-after-time: 60
     # 鍥芥爣缁鏂瑰紡锛宼rue涓虹画璁紝姣忔娉ㄥ唽鍦ㄥ悓涓�涓細璇濋噷锛宖alse涓洪噸鏂版敞鍐岋紝姣忔浣跨敤鏂扮殑浼氳瘽
     register-keep-int-dialog: false
-    # 璺ㄥ煙閰嶇疆锛岄厤缃綘璁块棶鍓嶇椤甸潰鐨勫湴鍧�鍗冲彲锛� 鍙互閰嶇疆澶氫釜
+    # 璺ㄥ煙閰嶇疆锛屼笉閰嶇疆姝ら」鍒欏厑璁告墍鏈夎法鍩熻姹傦紝閰嶇疆鍚庡垯鍙厑璁搁厤缃殑椤甸潰鐨勫湴鍧�璇锋眰锛� 鍙互閰嶇疆澶氫釜
     allowed-origins:
         - http://localhost:8008
         - http://192.168.1.3:8008
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index af9bd31..8f9661b 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -110,10 +110,6 @@
   auto-apply-play: true
   # 璁惧/閫氶亾鐘舵�佸彉鍖栨椂鍙戦�佹秷鎭�
   device-status-notify: true
-  # 璺ㄥ煙閰嶇疆锛岄厤缃綘璁块棶鍓嶇椤甸潰鐨勫湴鍧�鍗冲彲锛� 鍙互閰嶇疆澶氫釜
-  allowed-origins:
-    - http://localhost:8080
-    - http://127.0.0.1:8080
 # [鍙�塢 鏃ュ織閰嶇疆, 涓�鑸笉闇�瑕佹敼
 logging:
   config: classpath:logback-spring-local.xml

--
Gitblit v1.8.0