PC 2 anni fa
parent
commit
1e78ee16ef

+ 0 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/handle/CustomDataSource.java


+ 0 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/handle/CustomMetaHandle.java


+ 0 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/handle/MyConfig.java


+ 31 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/interceptor/CustomWebMvcConfigurer.java

@@ -0,0 +1,31 @@
+package com.sckw.core.interceptor;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author czh
+ * @desc TODO
+ * @date 2023/6/12
+ */
+@Configuration
+public class CustomWebMvcConfigurer implements WebMvcConfigurer {
+
+    /**
+     * @param * registry
+     * @desc: 配置拦截规则与注入拦截器
+     * @author: czh
+     * @date: 2023/6/12
+     */
+    @Override
+    public void addInterceptors(InterceptorRegistry registry) {
+        // addPathPattern 添加拦截规则 /** 拦截所有包括静态资源
+        // excludePathPattern 排除拦截规则 所以我们需要放开静态资源的拦截
+        registry.addInterceptor(new LoginInterceptor())
+                .addPathPatterns("/**");
+    }
+}

+ 72 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/interceptor/LoginInterceptor.java

@@ -0,0 +1,72 @@
+package com.sckw.core.interceptor;
+
+import com.sckw.core.exception.SystemException;
+import com.sckw.core.model.constant.Global;
+import com.sckw.core.utils.EncryUtil;
+import com.sckw.core.utils.StringUtils;
+import com.sckw.core.web.constant.HttpStatus;
+import com.sckw.core.web.constant.RequestConstant;
+import com.sckw.redis.utils.RedissonUtils;
+import jakarta.annotation.Resource;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.method.HandlerMethod;
+import org.springframework.web.servlet.HandlerInterceptor;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * @author czh
+ * @desc 拦截器
+ * @date 2023/6/12
+ */
+@Slf4j
+public class LoginInterceptor implements HandlerInterceptor {
+
+    private static final List<String> excludePath = new ArrayList<>();
+
+    static {
+        excludePath.add("/auth/login");
+    }
+
+    @Resource
+    private RedissonUtils redissonUtils;
+
+    @Override
+    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
+
+        //1、定义不拦截的接口
+        log.info("==============>getRequestURI:{} ", request.getRequestURI());
+        if (excludePath.contains(request.getRequestURI())) {
+            return true;
+        }
+
+//        if(handler instanceof HandlerMethod){
+//            return true;
+//        }
+
+        //2、非登录接口,校验token是否过期
+        String token = request.getHeader(RequestConstant.TOKEN);
+        if (StringUtils.isBlank(token)) {
+            throw new SystemException(HttpStatus.PARAMETERS_MISSING_CODE, HttpStatus.TOKEN_MISSING);
+        }
+
+        String key = null;
+        try {
+            key = EncryUtil.descry(Global.PRI_KEY, token);
+        } catch (Exception e) {
+            throw new SystemException(HttpStatus.PARAMETERS_MISSING_CODE, HttpStatus.TOKEN_ERROR);
+        }
+        Object object = redissonUtils.get(key);
+        if (Objects.isNull(object)) {
+            throw new SystemException(HttpStatus.PARAMETERS_MISSING_CODE, HttpStatus.TOKEN_INVAILD);
+        }
+
+        return true;
+    }
+
+
+}

+ 0 - 45
sckw-common/sckw-common-core/src/main/java/com/sckw/core/interceptor/WebInterceptor.java

@@ -1,45 +0,0 @@
-package com.sckw.core.interceptor;
-
-import com.sckw.core.web.constant.RequestConstant;
-import com.sckw.redis.utils.RedissonUtils;
-import jakarta.annotation.Resource;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.stereotype.Component;
-import org.springframework.web.servlet.HandlerInterceptor;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Objects;
-
-@Slf4j
-@Component
-public class WebInterceptor implements HandlerInterceptor {
-
-    public static final List<String> EXCLUDEMETHOD = new ArrayList<>();
-
-    static {
-        EXCLUDEMETHOD.add("/auth/login");
-    }
-
-    @Resource
-    private RedissonUtils redissonUtils;
-
-    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
-        //1、解析请求的url,如果是登录接口则直接放行
-        String method = request.getMethod();
-        if (EXCLUDEMETHOD.contains(method)) {
-            log.info("登录接口");
-        }
-
-        //2、非登录接口,校验token是否过期
-        String token = request.getHeader(RequestConstant.TOKEN);
-        Object object = redissonUtils.get(token);
-        if (Objects.isNull(object)) {
-            log.error("过期抛异常。。。。");
-        }
-        return true;
-    }
-
-}

+ 0 - 0
sckw-modules-api/sckw-system-api/src/main/java/com/sckw/system/api/model/dto/res/LoginResDto.java