|
|
@@ -0,0 +1,42 @@
|
|
|
+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<>();
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private RedissonUtils redissonUtils;
|
|
|
+
|
|
|
+ public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
|
|
|
+ // todo
|
|
|
+ //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;
|
|
|
+ }
|
|
|
+
|
|
|
+}
|