From b7afe430d3aa0b7916972dae0b07250386d6ae4f Mon Sep 17 00:00:00 2001 From: suyiiyii Date: Wed, 28 Aug 2024 21:13:59 +0800 Subject: [PATCH 1/6] =?UTF-8?q?ci(docker-publish):=20=E7=A1=AE=E4=BF=9D?= =?UTF-8?q?=E4=BB=85=E5=9C=A8push=E4=BA=8B=E4=BB=B6=E6=97=B6=E6=8F=90?= =?UTF-8?q?=E4=BA=A4=E6=A0=87=E7=AD=BE=E6=9B=B4=E6=96=B0=20(#22)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * ci(docker-publish): 确保仅在push事件时提交标签更新 * refactor(github-workflows): 标准化Gitea Sync workflow名称 * feat(cors): 全局启用CORS支持 在Spring应用中通过配置CORS实现跨域请求支持,允许所有来源、方法和头。 此变更有助于解决前端应用在不同域上运行时的跨域问题。 --- .github/workflows/docker-publish.yml | 1 + .github/workflows/gitea-sync.yml | 2 +- .../top/suyiiyii/sims/common/CorsConfig.java | 23 +++++++++++++++++++ 3 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 src/main/java/top/suyiiyii/sims/common/CorsConfig.java diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index c6c8a29..2b9dbad 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -113,6 +113,7 @@ jobs: with: cmd: yq eval '.image.tag = "${{ steps.meta.outputs.version }}"' -i values.yaml - name: Git Auto Commit + if: github.event_name == 'push' uses: stefanzweifel/git-auto-commit-action@v5.0.1 with: commit_message: "Update deployment image to ${{ steps.meta.outputs.version }}" diff --git a/.github/workflows/gitea-sync.yml b/.github/workflows/gitea-sync.yml index cc1c271..691efa4 100644 --- a/.github/workflows/gitea-sync.yml +++ b/.github/workflows/gitea-sync.yml @@ -1,4 +1,4 @@ -name: gitea-sync.yml +name: Gitea Sync on: push: branches: [ "main", "manifest" ] diff --git a/src/main/java/top/suyiiyii/sims/common/CorsConfig.java b/src/main/java/top/suyiiyii/sims/common/CorsConfig.java new file mode 100644 index 0000000..7396f80 --- /dev/null +++ b/src/main/java/top/suyiiyii/sims/common/CorsConfig.java @@ -0,0 +1,23 @@ +package top.suyiiyii.sims.common; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.CorsRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +@Configuration +public class CorsConfig { + + @Bean + public WebMvcConfigurer corsConfigurer() { + return new WebMvcConfigurer() { + @Override + public void addCorsMappings(CorsRegistry registry) { + registry.addMapping("/**") + .allowedOrigins("*") + .allowedMethods("*") + .allowedHeaders("*"); + } + }; + } +} From f867d7b7bc9fd2a809fc725f401a42542659368c Mon Sep 17 00:00:00 2001 From: suyiiyii Date: Thu, 29 Aug 2024 16:51:55 +0800 Subject: [PATCH 2/6] =?UTF-8?q?feat(cors):=20=E5=85=81=E8=AE=B8option?= =?UTF-8?q?=E8=AF=B7=E6=B1=82=E9=80=9A=E8=BF=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/top/suyiiyii/sims/common/RbacInterceptor.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/top/suyiiyii/sims/common/RbacInterceptor.java b/src/main/java/top/suyiiyii/sims/common/RbacInterceptor.java index 35ec723..6978679 100644 --- a/src/main/java/top/suyiiyii/sims/common/RbacInterceptor.java +++ b/src/main/java/top/suyiiyii/sims/common/RbacInterceptor.java @@ -27,6 +27,9 @@ public class RbacInterceptor implements HandlerInterceptor { if ("/error".equals(request.getRequestURI())) { return true; } + if ("OPTIONS".equals(request.getMethod())) { + return true; + } // 获取用户角色 List roles = getUserRole(request).stream().map(Role::getRoleName).toList(); From 0fea9664f9bf7415085345419644ef3134806b3c Mon Sep 17 00:00:00 2001 From: suyiiyii Date: Thu, 29 Aug 2024 16:51:55 +0800 Subject: [PATCH 3/6] =?UTF-8?q?feat(cors):=20=E6=9A=B4=E5=8A=9B=E5=85=81?= =?UTF-8?q?=E8=AE=B8option=E8=AF=B7=E6=B1=82=E9=80=9A=E8=BF=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/top/suyiiyii/sims/common/RbacInterceptor.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/top/suyiiyii/sims/common/RbacInterceptor.java b/src/main/java/top/suyiiyii/sims/common/RbacInterceptor.java index 6978679..cafd2b4 100644 --- a/src/main/java/top/suyiiyii/sims/common/RbacInterceptor.java +++ b/src/main/java/top/suyiiyii/sims/common/RbacInterceptor.java @@ -28,7 +28,8 @@ public class RbacInterceptor implements HandlerInterceptor { return true; } if ("OPTIONS".equals(request.getMethod())) { - return true; + response.setStatus(HttpServletResponse.SC_OK); + return false; } // 获取用户角色 List roles = getUserRole(request).stream().map(Role::getRoleName).toList(); From fb37c59810dabeff027bc74f9b3fcf97ecdf8dcd Mon Sep 17 00:00:00 2001 From: suyiiyii Date: Thu, 29 Aug 2024 17:53:26 +0800 Subject: [PATCH 4/6] =?UTF-8?q?feat(cors):=20=E4=BD=BF=E7=94=A8CorsFilter?= =?UTF-8?q?=E6=9D=A5=E5=A4=84=E7=90=86=E8=B7=A8=E5=9F=9F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../top/suyiiyii/sims/common/CorsConfig.java | 23 ---------------- .../sims/common/CorsConfiguration.java | 26 +++++++++++++++++++ 2 files changed, 26 insertions(+), 23 deletions(-) delete mode 100644 src/main/java/top/suyiiyii/sims/common/CorsConfig.java create mode 100644 src/main/java/top/suyiiyii/sims/common/CorsConfiguration.java diff --git a/src/main/java/top/suyiiyii/sims/common/CorsConfig.java b/src/main/java/top/suyiiyii/sims/common/CorsConfig.java deleted file mode 100644 index 7396f80..0000000 --- a/src/main/java/top/suyiiyii/sims/common/CorsConfig.java +++ /dev/null @@ -1,23 +0,0 @@ -package top.suyiiyii.sims.common; - -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.web.servlet.config.annotation.CorsRegistry; -import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; - -@Configuration -public class CorsConfig { - - @Bean - public WebMvcConfigurer corsConfigurer() { - return new WebMvcConfigurer() { - @Override - public void addCorsMappings(CorsRegistry registry) { - registry.addMapping("/**") - .allowedOrigins("*") - .allowedMethods("*") - .allowedHeaders("*"); - } - }; - } -} diff --git a/src/main/java/top/suyiiyii/sims/common/CorsConfiguration.java b/src/main/java/top/suyiiyii/sims/common/CorsConfiguration.java new file mode 100644 index 0000000..8d4a73d --- /dev/null +++ b/src/main/java/top/suyiiyii/sims/common/CorsConfiguration.java @@ -0,0 +1,26 @@ +package top.suyiiyii.sims.common; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.cors.UrlBasedCorsConfigurationSource; +import org.springframework.web.filter.CorsFilter; + +@Configuration +public class CorsConfiguration { + + @Bean + public CorsFilter corsFilter() { + org.springframework.web.cors.CorsConfiguration config = new org.springframework.web.cors.CorsConfiguration(); + config.addAllowedOrigin("*"); + config.addAllowedMethod("OPTIONS"); + config.addAllowedMethod("POST"); + config.addAllowedHeader("*"); + + + UrlBasedCorsConfigurationSource configSource = new UrlBasedCorsConfigurationSource(); + configSource.registerCorsConfiguration("/**", config); + + return new CorsFilter(configSource); + } + +} \ No newline at end of file From 6a0812b8369916a9751fd097c73634aa16b04bfe Mon Sep 17 00:00:00 2001 From: suyiiyii Date: Thu, 29 Aug 2024 17:53:29 +0800 Subject: [PATCH 5/6] =?UTF-8?q?Revert=20"feat(cors):=20=E6=9A=B4=E5=8A=9B?= =?UTF-8?q?=E5=85=81=E8=AE=B8option=E8=AF=B7=E6=B1=82=E9=80=9A=E8=BF=87"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 0fea9664f9bf7415085345419644ef3134806b3c. --- src/main/java/top/suyiiyii/sims/common/RbacInterceptor.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/top/suyiiyii/sims/common/RbacInterceptor.java b/src/main/java/top/suyiiyii/sims/common/RbacInterceptor.java index cafd2b4..6978679 100644 --- a/src/main/java/top/suyiiyii/sims/common/RbacInterceptor.java +++ b/src/main/java/top/suyiiyii/sims/common/RbacInterceptor.java @@ -28,8 +28,7 @@ public class RbacInterceptor implements HandlerInterceptor { return true; } if ("OPTIONS".equals(request.getMethod())) { - response.setStatus(HttpServletResponse.SC_OK); - return false; + return true; } // 获取用户角色 List roles = getUserRole(request).stream().map(Role::getRoleName).toList(); From f113c341e51bbbbe5662111993cd72951069d9ed Mon Sep 17 00:00:00 2001 From: suyiiyii Date: Thu, 29 Aug 2024 17:53:30 +0800 Subject: [PATCH 6/6] =?UTF-8?q?Revert=20"feat(cors):=20=E5=85=81=E8=AE=B8o?= =?UTF-8?q?ption=E8=AF=B7=E6=B1=82=E9=80=9A=E8=BF=87"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit f867d7b7bc9fd2a809fc725f401a42542659368c. --- src/main/java/top/suyiiyii/sims/common/RbacInterceptor.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/main/java/top/suyiiyii/sims/common/RbacInterceptor.java b/src/main/java/top/suyiiyii/sims/common/RbacInterceptor.java index 6978679..35ec723 100644 --- a/src/main/java/top/suyiiyii/sims/common/RbacInterceptor.java +++ b/src/main/java/top/suyiiyii/sims/common/RbacInterceptor.java @@ -27,9 +27,6 @@ public class RbacInterceptor implements HandlerInterceptor { if ("/error".equals(request.getRequestURI())) { return true; } - if ("OPTIONS".equals(request.getMethod())) { - return true; - } // 获取用户角色 List roles = getUserRole(request).stream().map(Role::getRoleName).toList();