token过期 日志打印优化
This commit is contained in:
@@ -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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.ai.da.common.security.filter;
|
package com.ai.da.common.security.filter;
|
||||||
|
|
||||||
import cn.hutool.core.util.StrUtil;
|
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.context.UserContext;
|
||||||
import com.ai.da.common.security.config.SecurityProperties;
|
import com.ai.da.common.security.config.SecurityProperties;
|
||||||
import com.ai.da.common.security.jwt.JWTTokenHelper;
|
import com.ai.da.common.security.jwt.JWTTokenHelper;
|
||||||
@@ -103,7 +103,7 @@ public class AuthenticationFilter extends OncePerRequestFilter {
|
|||||||
String ipAddress = RequestInfoUtil.getIpAddress(request);
|
String ipAddress = RequestInfoUtil.getIpAddress(request);
|
||||||
log.info("本次请求的ip为 : " + ipAddress);
|
log.info("本次请求的ip为 : " + ipAddress);
|
||||||
// throw new RuntimeException("请传入token!");
|
// throw new RuntimeException("请传入token!");
|
||||||
throw new MissingTokenException("请传入token!");
|
throw new TokenMissingOrExpiredException("请传入token!");
|
||||||
}
|
}
|
||||||
if(jwtToken.equals("Bearer-eyJhbGciOiJIUzUxMiJ9.eyJqdGkiOiIyIiwic3ViIjoie1wiaWRcIjoyLFwidXNlcm5hbWVcIjpcImxpcnNcIn0iLCJpYXQiOjE2NjU3NDEwODcsImlzcyI6IkRXSiIsImF1dGhvcml0aWVzIjoiW10iLCJleHAiOjE2NzQzODEwODd9.ShM9R_NNFD7oo1OvxrEgg7PFeWinOuAKkuInUCMQupp66s64Hhv8tN0Wwr83nIN4rHPqtn95wmd4msWcvaFYJA")){
|
if(jwtToken.equals("Bearer-eyJhbGciOiJIUzUxMiJ9.eyJqdGkiOiIyIiwic3ViIjoie1wiaWRcIjoyLFwidXNlcm5hbWVcIjpcImxpcnNcIn0iLCJpYXQiOjE2NjU3NDEwODcsImlzcyI6IkRXSiIsImF1dGhvcml0aWVzIjoiW10iLCJleHAiOjE2NzQzODEwODd9.ShM9R_NNFD7oo1OvxrEgg7PFeWinOuAKkuInUCMQupp66s64Hhv8tN0Wwr83nIN4rHPqtn95wmd4msWcvaFYJA")){
|
||||||
//写死 暂时放行
|
//写死 暂时放行
|
||||||
@@ -114,7 +114,8 @@ public class AuthenticationFilter extends OncePerRequestFilter {
|
|||||||
if (validate) {
|
if (validate) {
|
||||||
AuthPrincipalVo principal = jwtTokenHelper.parserToUser(jwtToken);
|
AuthPrincipalVo principal = jwtTokenHelper.parserToUser(jwtToken);
|
||||||
if (principal == null) {
|
if (principal == null) {
|
||||||
throw new RuntimeException("TOKEN已过期,请重新登录!");
|
// throw new RuntimeException("TOKEN已过期,请重新登录!");
|
||||||
|
throw new TokenMissingOrExpiredException("TOKEN已过期,请重新登录!(token without userInfo)");
|
||||||
}
|
}
|
||||||
//先清空当前线程变量,防止上一个线程遗留
|
//先清空当前线程变量,防止上一个线程遗留
|
||||||
UserContext.delete();
|
UserContext.delete();
|
||||||
@@ -124,10 +125,12 @@ public class AuthenticationFilter extends OncePerRequestFilter {
|
|||||||
String cacheToken = LocalCacheUtils.getTokenCache(String.valueOf(principal.getId()));
|
String cacheToken = LocalCacheUtils.getTokenCache(String.valueOf(principal.getId()));
|
||||||
|
|
||||||
if(StringUtils.isEmpty(cacheToken)){
|
if(StringUtils.isEmpty(cacheToken)){
|
||||||
throw new RuntimeException("TOKEN已过期,请重新登录!");
|
// throw new RuntimeException("TOKEN已过期,请重新登录!");
|
||||||
|
throw new TokenMissingOrExpiredException("TOKEN已过期,请重新登录!(local cache empty)");
|
||||||
}
|
}
|
||||||
if(!cacheToken.equals(jwtToken) ){
|
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);
|
// UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken(null, null);
|
||||||
// SecurityContextHolder.getContext().setAuthentication(authentication);
|
// SecurityContextHolder.getContext().setAuthentication(authentication);
|
||||||
|
|||||||
Reference in New Issue
Block a user