From a4a4e46ba204634f1355ac1ec9fd3dec0a1579f5 Mon Sep 17 00:00:00 2001
From: nidapeng <jp@doumee.com>
Date: 星期日, 28 四月 2024 17:22:47 +0800
Subject: [PATCH] 最新版本

---
 server/meeting/meeting_admin/src/main/java/com/doumee/config/swagger/SwaggerConfig.java        |   14 ++++++++++++++
 server/system_service/src/main/java/com/doumee/config/cloudfilter/LoginHandlerInterceptor.java |    2 +-
 server/system_gateway/src/main/java/com/doumee/config/GatewayFilterProperties.java             |    7 +++++++
 server/system_gateway/src/main/java/com/doumee/config/GlobalFilterConfig.java                  |    4 ++--
 server/meeting/meeting_admin/src/main/java/com/doumee/config/shiro/ShiroConfig.java            |    2 +-
 server/system_gateway/src/main/resources/application.yml                                       |    5 +++++
 server/meeting/meeting_admin/src/main/java/com/doumee/api/cloud/CloudBookingsController.java   |    4 ++--
 server/system_gateway/src/main/java/com/doumee/config/CustomWebFilterConfig.java               |   17 ++++++++++++++++-
 server/system_gateway/src/main/java/com/doumee/config/GlobalErrorFilterConfig.java             |    2 +-
 9 files changed, 49 insertions(+), 8 deletions(-)

diff --git a/server/meeting/meeting_admin/src/main/java/com/doumee/api/cloud/CloudBookingsController.java b/server/meeting/meeting_admin/src/main/java/com/doumee/api/cloud/CloudBookingsController.java
index 9195561..17fdb9b 100644
--- a/server/meeting/meeting_admin/src/main/java/com/doumee/api/cloud/CloudBookingsController.java
+++ b/server/meeting/meeting_admin/src/main/java/com/doumee/api/cloud/CloudBookingsController.java
@@ -45,7 +45,7 @@
  * @author 姹熻箘韫�
  * @date 2023/05/04 18:18
  */
-@Api(tags = "浼氳瀹ら瀹氫俊鎭〃")
+@Api(tags = "寰湇鍔�-浼氳瀹ょ浉鍏虫帴鍙�")
 @RestController
 @RequestMapping("/cloudService/bookings")
 public class CloudBookingsController extends BaseController {
@@ -60,7 +60,7 @@
     }
 
     @LoginNoRequired
-    @ApiOperation("娴嬭瘯缃戠")
+    @ApiOperation("娴嬭瘯鏃犻渶鐧诲綍鎴愬姛")
     @GetMapping("/testNoLogin")
     public ApiResponse testNoLogin() {
         return ApiResponse.success("浼氳瀹ょ鐞嗘祴璇曟棤闇�鐧诲綍鎴愬姛");
diff --git a/server/meeting/meeting_admin/src/main/java/com/doumee/config/shiro/ShiroConfig.java b/server/meeting/meeting_admin/src/main/java/com/doumee/config/shiro/ShiroConfig.java
index 155b705..52cc778 100644
--- a/server/meeting/meeting_admin/src/main/java/com/doumee/config/shiro/ShiroConfig.java
+++ b/server/meeting/meeting_admin/src/main/java/com/doumee/config/shiro/ShiroConfig.java
@@ -73,7 +73,7 @@
         map.put("/common/captcha", "anon");
         //鏂囦欢涓婁紶鍙栨秷鎷︽埅
         map.put("/public/**", "anon");
-        map.put("/cloud/**", "anon");
+        map.put("/cloudService/**", "anon");
 
         // - 鏀捐swagger
         map.put("/doc.html", "anon");
diff --git a/server/meeting/meeting_admin/src/main/java/com/doumee/config/swagger/SwaggerConfig.java b/server/meeting/meeting_admin/src/main/java/com/doumee/config/swagger/SwaggerConfig.java
index b150aea..472e826 100644
--- a/server/meeting/meeting_admin/src/main/java/com/doumee/config/swagger/SwaggerConfig.java
+++ b/server/meeting/meeting_admin/src/main/java/com/doumee/config/swagger/SwaggerConfig.java
@@ -65,12 +65,26 @@
                 .apiInfo(this.getApiInfo()).groupName("default")
                 .host(host)
                 .select()
+                .apis( basePackage("com.doumee.api.cloud"))
+                // 璁剧疆闇�瑕佽鎵弿鐨勭被锛岃繖閲岃缃负娣诲姞浜咢Api娉ㄨВ鐨勭被
+//                .apis(RequestHandlerSelectors.withClassAnnotation(Api.class))
+                .paths(PathSelectors.any())
+                .build();
+    }
+/*
+    @Bean
+    public Docket getDocket2() {
+        return new Docket(DocumentationType.SWAGGER_2)
+                .apiInfo(this.getApiInfo()).groupName("default")
+                .host(host)
+                .select()
                 .apis( basePackage("com.doumee.api.system;com.doumee.api.business;com.doumee.api.common"))
                 // 璁剧疆闇�瑕佽鎵弿鐨勭被锛岃繖閲岃缃负娣诲姞浜咢Api娉ㄨВ鐨勭被
 //                .apis(RequestHandlerSelectors.withClassAnnotation(Api.class))
                 .paths(PathSelectors.any())
                 .build();
     }
+*/
    /* @Bean
     public Docket getDocket1() {
         return new Docket(DocumentationType.SWAGGER_2)
diff --git a/server/system_gateway/src/main/java/com/doumee/config/swagger/CustomWebFilterConfig.java b/server/system_gateway/src/main/java/com/doumee/config/CustomWebFilterConfig.java
similarity index 82%
rename from server/system_gateway/src/main/java/com/doumee/config/swagger/CustomWebFilterConfig.java
rename to server/system_gateway/src/main/java/com/doumee/config/CustomWebFilterConfig.java
index 7f92567..bfd3b6f 100644
--- a/server/system_gateway/src/main/java/com/doumee/config/swagger/CustomWebFilterConfig.java
+++ b/server/system_gateway/src/main/java/com/doumee/config/CustomWebFilterConfig.java
@@ -1,4 +1,4 @@
-package com.doumee.config.swagger;
+package com.doumee.config;
 
 import com.doumee.config.GatewayFilterProperties;
 import com.doumee.core.utils.Constants;
@@ -55,6 +55,21 @@
      * //     * @param currentUrl 褰撳墠璇锋眰璺緞
      */
     private boolean shouldSkip(String currentUrl) {
+        //濡傛灉娌℃湁鐧婚檰鎷︽埅鐩綍锛岀洿鎺ヨ繑鍥炶烦杩囨牎楠�
+        if(notAuthUrlProperties.getLoginFilterFolders() == null || notAuthUrlProperties.getLoginFilterFolders().size() ==0){
+            return  true;
+        }
+        boolean isLoginFolder = false;
+        for (String skipPath : notAuthUrlProperties.getLoginFilterFolders()) {
+            if (skipPath.startsWith(currentUrl)) {
+                isLoginFolder = true;
+            }
+        }
+        if(!isLoginFolder){
+            //濡傛灉涓嶅湪闇�瑕侀獙璇佺洰褰曚笅锛岀洿鎺ヨ繑鍥瀎alse锛屾棤闇�楠岃瘉鐧诲綍
+            return  true;
+        }
+        //濡傛灉娌℃湁閰嶇疆鏃犻渶鐧诲綍鎷︽埅鐨勬帴鍙e湴鍧�锛岀洿鎺ヨ繑鍥瀎alse锛堥渶瑕侀獙璇侊級
         if(notAuthUrlProperties.getSkipLoginFilterUrls() == null || notAuthUrlProperties.getSkipLoginFilterUrls().size() ==0){
             return  false;
         }
diff --git a/server/system_gateway/src/main/java/com/doumee/config/GatewayFilterProperties.java b/server/system_gateway/src/main/java/com/doumee/config/GatewayFilterProperties.java
index 4ee4ecb..73d653d 100644
--- a/server/system_gateway/src/main/java/com/doumee/config/GatewayFilterProperties.java
+++ b/server/system_gateway/src/main/java/com/doumee/config/GatewayFilterProperties.java
@@ -10,5 +10,12 @@
 @Component
 @ConfigurationProperties("gateway")
 public class GatewayFilterProperties {
+    /**
+     * 鏍¢獙鏃犻渶鐧诲綍鎷︽埅鐨勬帴鍙e湴鍧�
+     */
     private LinkedHashSet<String> skipLoginFilterUrls;
+    /**
+     * 鏍¢獙鎺ュ彛璺熺洰褰�
+     */
+    private LinkedHashSet<String> loginFilterFolders;
 }
diff --git a/server/system_gateway/src/main/java/com/doumee/config/swagger/GlobalErrorFilterConfig.java b/server/system_gateway/src/main/java/com/doumee/config/GlobalErrorFilterConfig.java
similarity index 90%
rename from server/system_gateway/src/main/java/com/doumee/config/swagger/GlobalErrorFilterConfig.java
rename to server/system_gateway/src/main/java/com/doumee/config/GlobalErrorFilterConfig.java
index 8dc06e7..a28a22e 100644
--- a/server/system_gateway/src/main/java/com/doumee/config/swagger/GlobalErrorFilterConfig.java
+++ b/server/system_gateway/src/main/java/com/doumee/config/GlobalErrorFilterConfig.java
@@ -1,4 +1,4 @@
-package com.doumee.config.swagger;
+package com.doumee.config;
 
 import com.doumee.config.GlobalErrorFilter;
 import org.springframework.context.annotation.Bean;
diff --git a/server/system_gateway/src/main/java/com/doumee/config/GlobalFilterConfig.java b/server/system_gateway/src/main/java/com/doumee/config/GlobalFilterConfig.java
index c3e2ea9..640b163 100644
--- a/server/system_gateway/src/main/java/com/doumee/config/GlobalFilterConfig.java
+++ b/server/system_gateway/src/main/java/com/doumee/config/GlobalFilterConfig.java
@@ -19,8 +19,8 @@
 
 import javax.annotation.Resource;
 
-@Order(1)
-@Configuration
+//@Order(1)
+//@Configuration
 public class GlobalFilterConfig implements GlobalFilter {
     @Autowired
     private RedisTemplate<String,Object> stringRedisTemplate;
diff --git a/server/system_gateway/src/main/resources/application.yml b/server/system_gateway/src/main/resources/application.yml
index 82b4800..a02acc1 100644
--- a/server/system_gateway/src/main/resources/application.yml
+++ b/server/system_gateway/src/main/resources/application.yml
@@ -91,9 +91,14 @@
 
 
 gateway:
+  loginFilterFolders:
+    - /login
+    - /biz/
   skipLoginFilterUrls:
     - /meetingAdmin/**
     - /visitsAdmin/**
     - /login
     - /doc.html
     - /v2/api-docs/**
+    - /**.js
+    - /**.html
diff --git a/server/system_service/src/main/java/com/doumee/config/cloudfilter/LoginHandlerInterceptor.java b/server/system_service/src/main/java/com/doumee/config/cloudfilter/LoginHandlerInterceptor.java
index bc6bc2f..9042b1f 100644
--- a/server/system_service/src/main/java/com/doumee/config/cloudfilter/LoginHandlerInterceptor.java
+++ b/server/system_service/src/main/java/com/doumee/config/cloudfilter/LoginHandlerInterceptor.java
@@ -28,7 +28,7 @@
     public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
         HandlerMethod handlerMethod = (HandlerMethod) handler;
         Class<?> beanType = handlerMethod.getBeanType();
-        if (!beanType.isAnnotationPresent(LoginNoRequired.class) || !handlerMethod.hasMethodAnnotation(LoginNoRequired.class)) {
+        if (!beanType.isAnnotationPresent(LoginNoRequired.class) && !handlerMethod.hasMethodAnnotation(LoginNoRequired.class)) {
             //鑾峰彇token
             String token = request.getHeader(Constants.HEADER_USER_TOKEN);  // 浠� http 璇锋眰澶翠腑鍙栧嚭 token
             if (StringUtils.isNotBlank(token)) {

--
Gitblit v1.9.3