diff --git a/src/main/java/com/ai/da/common/config/exception/MissingTokenException.java b/src/main/java/com/ai/da/common/config/exception/MissingTokenException.java deleted file mode 100644 index 71cbfe3c..00000000 --- a/src/main/java/com/ai/da/common/config/exception/MissingTokenException.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.ai.da.common.config.exception; - -import com.ai.da.common.response.ResultEnum; -import lombok.Data; -import lombok.extern.slf4j.Slf4j; - -@Slf4j -@Data -public class MissingTokenException extends RuntimeException { - - public MissingTokenException(String message) { - super(message); - } - - @Override - public Throwable fillInStackTrace() { - return this; - } -} diff --git a/src/main/java/com/ai/da/common/config/exception/TokenMissingOrExpiredException.java b/src/main/java/com/ai/da/common/config/exception/TokenMissingOrExpiredException.java new file mode 100644 index 00000000..5d47dc41 --- /dev/null +++ b/src/main/java/com/ai/da/common/config/exception/TokenMissingOrExpiredException.java @@ -0,0 +1,12 @@ +package com.ai.da.common.config.exception; + +public class TokenMissingOrExpiredException extends RuntimeException { + public TokenMissingOrExpiredException(String message) { + super(message); + } + + @Override + public Throwable fillInStackTrace() { + return this; + } +} diff --git a/src/main/java/com/ai/da/common/security/filter/AuthenticationFilter.java b/src/main/java/com/ai/da/common/security/filter/AuthenticationFilter.java index e26b267f..acd4b1be 100644 --- a/src/main/java/com/ai/da/common/security/filter/AuthenticationFilter.java +++ b/src/main/java/com/ai/da/common/security/filter/AuthenticationFilter.java @@ -1,7 +1,7 @@ package com.ai.da.common.security.filter; import cn.hutool.core.util.StrUtil; -import com.ai.da.common.config.exception.MissingTokenException; +import com.ai.da.common.config.exception.TokenMissingOrExpiredException; import com.ai.da.common.context.UserContext; import com.ai.da.common.security.config.SecurityProperties; import com.ai.da.common.security.jwt.JWTTokenHelper; @@ -103,7 +103,7 @@ public class AuthenticationFilter extends OncePerRequestFilter { String ipAddress = RequestInfoUtil.getIpAddress(request); log.info("本次请求的ip为 : " + ipAddress); // throw new RuntimeException("请传入token!"); - throw new MissingTokenException("请传入token!"); + throw new TokenMissingOrExpiredException("请传入token!"); } if(jwtToken.equals("Bearer-eyJhbGciOiJIUzUxMiJ9.eyJqdGkiOiIyIiwic3ViIjoie1wiaWRcIjoyLFwidXNlcm5hbWVcIjpcImxpcnNcIn0iLCJpYXQiOjE2NjU3NDEwODcsImlzcyI6IkRXSiIsImF1dGhvcml0aWVzIjoiW10iLCJleHAiOjE2NzQzODEwODd9.ShM9R_NNFD7oo1OvxrEgg7PFeWinOuAKkuInUCMQupp66s64Hhv8tN0Wwr83nIN4rHPqtn95wmd4msWcvaFYJA")){ //写死 暂时放行 @@ -114,7 +114,8 @@ public class AuthenticationFilter extends OncePerRequestFilter { if (validate) { AuthPrincipalVo principal = jwtTokenHelper.parserToUser(jwtToken); if (principal == null) { - throw new RuntimeException("TOKEN已过期,请重新登录!"); +// throw new RuntimeException("TOKEN已过期,请重新登录!"); + throw new TokenMissingOrExpiredException("TOKEN已过期,请重新登录!(token without userInfo)"); } //先清空当前线程变量,防止上一个线程遗留 UserContext.delete(); @@ -124,10 +125,12 @@ public class AuthenticationFilter extends OncePerRequestFilter { String cacheToken = LocalCacheUtils.getTokenCache(String.valueOf(principal.getId())); if(StringUtils.isEmpty(cacheToken)){ - throw new RuntimeException("TOKEN已过期,请重新登录!"); +// throw new RuntimeException("TOKEN已过期,请重新登录!"); + throw new TokenMissingOrExpiredException("TOKEN已过期,请重新登录!(local cache empty)"); } if(!cacheToken.equals(jwtToken) ){ - throw new RuntimeException("TOKEN已过期,请重新登录!"); +// throw new RuntimeException("TOKEN已过期,请重新登录!"); + throw new TokenMissingOrExpiredException("TOKEN已过期,请重新登录!(token not match local cache)"); } // UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken(null, null); // SecurityContextHolder.getContext().setAuthentication(authentication);