diff --git a/src/main/java/com/dreamchaser/depository_manage/config/WebMvcConfig.java b/src/main/java/com/dreamchaser/depository_manage/config/WebMvcConfig.java index 7950ddc1..1b28e299 100644 --- a/src/main/java/com/dreamchaser/depository_manage/config/WebMvcConfig.java +++ b/src/main/java/com/dreamchaser/depository_manage/config/WebMvcConfig.java @@ -15,7 +15,7 @@ public class WebMvcConfig implements WebMvcConfigurer { public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(new UserInterceptor()) .addPathPatterns("/**") - .excludePathPatterns("/login", "/register", "/sendCode", "/error","/callback","/getMaterialAll","/approvalcallback") + .excludePathPatterns("/login", "/register", "/sendCode", "/error","/callback","/QyWxLogin","/getMaterialAll","/approvalcallback") .excludePathPatterns("classpath:/static/**") .excludePathPatterns("/static/**"); } diff --git a/src/main/java/com/dreamchaser/depository_manage/intercepter/UserInterceptor.java b/src/main/java/com/dreamchaser/depository_manage/intercepter/UserInterceptor.java index 53978917..a24ac934 100644 --- a/src/main/java/com/dreamchaser/depository_manage/intercepter/UserInterceptor.java +++ b/src/main/java/com/dreamchaser/depository_manage/intercepter/UserInterceptor.java @@ -47,6 +47,8 @@ public class UserInterceptor extends HandlerInterceptorAdapter { String token = null; String servletPath = request.getServletPath(); + System.out.println(servletPath); + //如果是访问logout则删除对应的令牌 if ("/loginOut".equals(servletPath)) { return true; @@ -54,25 +56,7 @@ public class UserInterceptor extends HandlerInterceptorAdapter { if (pathList.contains(servletPath)) { return true; } - if ("/QyWxLogin".equals(servletPath)) { - // 如果是企业微信登录 - try { - if (isMobileDevice(request)) { - if (header.contains("wxwork")) { - // 如果是企业微信跳转 - response.sendRedirect(QyWxConfig.getQYWXCodeUrl()); - } else { - response.sendRedirect("/login"); - } - } else { - response.sendRedirect("/login"); - } - } catch (IOException e) { - e.printStackTrace(); - } - return false; - } String userKey = request.getHeader("user-key"); String userToken = request.getHeader("user-token"); if (userKey == null) { @@ -84,6 +68,31 @@ public class UserInterceptor extends HandlerInterceptorAdapter { userKey = ""; } token = redisTemplate.opsForValue().get(userKey); + if ( "/".equals(servletPath)) { + // 如果是企业微信登录 + try { + if (isMobileDevice(request)) { + if (token == null || !token.equals(userToken)) { + if (header.contains("wxwork")) { + // 如果是企业微信跳转 + response.sendRedirect(QyWxConfig.getQYWXCodeUrl()); + } else { + + response.sendRedirect("/login"); + } + return false; + } + } else { + if (token == null || !token.equals(userToken)) { + response.sendRedirect("/login"); + return false; + } + } + } catch (IOException e) { + e.printStackTrace(); + } + + } if (token == null || !token.equals(userToken)) { try { response.sendRedirect("/login");