微调
This commit is contained in:
@@ -91,7 +91,6 @@ public class AuthController extends BaseController {
|
||||
|
||||
CustomCacheUtil customCacheUtil = SpringUtil.getBean(CustomCacheUtil.CACHE_NAME);
|
||||
customCacheUtil.putWithExpireTime(accessToken, JSON.toJSONString(user), DateUnit.DAY.getMillis() * 2);
|
||||
customCacheUtil.putWithExpireTime(refreshToken, JSON.toJSONString(user), (DateUnit.DAY.getMillis() * 4));
|
||||
|
||||
sysLogAuditService.saveAuthLog(user.getName(), 1);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, token, methodDescribe);
|
||||
@@ -105,13 +104,11 @@ public class AuthController extends BaseController {
|
||||
String methodDescribe = getMethodDescribe("logout");
|
||||
LogUtil.njcnDebug(log, "{},注销登录", methodDescribe);
|
||||
String accessTokenStr = request.getHeader(SecurityConstants.AUTHORIZATION_KEY);
|
||||
String refreshToken = request.getHeader(SecurityConstants.REFRESH_TOKEN_KEY);
|
||||
if (StrUtil.isNotBlank(accessTokenStr) && StrUtil.isNotBlank(refreshToken)) {
|
||||
if (StrUtil.isNotBlank(accessTokenStr)) {
|
||||
String accessToken = accessTokenStr.replace(SecurityConstants.AUTHORIZATION_PREFIX, Strings.EMPTY);
|
||||
|
||||
CustomCacheUtil customCacheUtil = SpringUtil.getBean(CustomCacheUtil.CACHE_NAME);
|
||||
customCacheUtil.remove(accessToken);
|
||||
customCacheUtil.remove(refreshToken);
|
||||
|
||||
Map<String, Object> map = JwtUtil.parseToken(accessToken);
|
||||
SysUser user = sysUserService.getById((String) map.get(SecurityConstants.USER_ID));
|
||||
@@ -128,25 +125,24 @@ public class AuthController extends BaseController {
|
||||
public HttpResult<Object> refreshToken(HttpServletRequest request) {
|
||||
String methodDescribe = getMethodDescribe("refreshToken");
|
||||
LogUtil.njcnDebug(log, "{},刷新token", methodDescribe);
|
||||
String refreshToken = request.getHeader(SecurityConstants.REFRESH_TOKEN_KEY);
|
||||
String accessTokenStr = request.getHeader(SecurityConstants.AUTHORIZATION_KEY);
|
||||
|
||||
Token token = new Token();
|
||||
if (StrUtil.isNotBlank(refreshToken)) {
|
||||
Map<String, Object> map = JwtUtil.parseToken(refreshToken);
|
||||
if (StrUtil.isNotBlank(accessTokenStr)) {
|
||||
String accessToken = accessTokenStr.replace(SecurityConstants.AUTHORIZATION_PREFIX, Strings.EMPTY);
|
||||
Map<String, Object> map = JwtUtil.parseToken(accessToken);
|
||||
String userId = (String) map.get(SecurityConstants.USER_ID);
|
||||
SysUser user = sysUserService.getById(userId);
|
||||
String accessToken = JwtUtil.getAccessToken(userId);
|
||||
String accessTokenNew = JwtUtil.getAccessToken(userId);
|
||||
|
||||
String refreshTokenNew = JwtUtil.getRefreshToken(accessTokenNew);
|
||||
|
||||
String refreshTokenNew = JwtUtil.getRefreshToken(accessToken);
|
||||
|
||||
token.setAccessToken(accessToken);
|
||||
token.setAccessToken(accessTokenNew);
|
||||
token.setRefreshToken(refreshTokenNew);
|
||||
|
||||
CustomCacheUtil customCacheUtil = SpringUtil.getBean(CustomCacheUtil.CACHE_NAME);
|
||||
customCacheUtil.remove(refreshToken);
|
||||
customCacheUtil.putWithExpireTime(accessToken, JSON.toJSONString(user), DateUnit.DAY.getMillis() * 2);
|
||||
customCacheUtil.putWithExpireTime(refreshTokenNew, JSON.toJSONString(user), (DateUnit.DAY.getMillis() * 4));
|
||||
customCacheUtil.remove(accessToken);
|
||||
customCacheUtil.putWithExpireTime(accessTokenNew, JSON.toJSONString(user), DateUnit.DAY.getMillis() * 2);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, token, methodDescribe);
|
||||
} else {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe);
|
||||
|
||||
@@ -22,7 +22,7 @@ import java.util.List;
|
||||
@Slf4j
|
||||
@Component
|
||||
public class AuthGlobalFilter implements Filter, Ordered {
|
||||
private final static List<String> IGNORE_URI = Arrays.asList("/admin/login", "/report/generateReport", "/admin/refreshToken");
|
||||
private final static List<String> IGNORE_URI = Arrays.asList("/admin/login", "/report/generateReport");
|
||||
|
||||
@Override
|
||||
public int getOrder() {
|
||||
@@ -66,7 +66,7 @@ public class AuthGlobalFilter implements Filter, Ordered {
|
||||
if ("true".equals(isRefreshToken)) {
|
||||
res.getWriter().write("{\"code\": 4001, \"message\":\"" + SystemValidMessage.TOKEN_EXPIRED + "\"}"); //前端重定向到登录页面
|
||||
} else {
|
||||
res.getWriter().write("{\"code\": 401, \"message\":\"" + SystemValidMessage.TOKEN_EXPIRED + "\"}"); //前端发起refreshToken请求
|
||||
res.getWriter().write("{\"code\": 401, \"message\":\"" + SystemValidMessage.ACCESS_TOKEN_EXPIRED + "\"}"); //前端发起refreshToken请求
|
||||
}
|
||||
} else {
|
||||
filterChain.doFilter(req, res);
|
||||
|
||||
@@ -65,10 +65,6 @@ public class LogAdvice implements ApplicationListener<ContextRefreshedEvent> {
|
||||
String authorization = request.getHeader(SecurityConstants.AUTHORIZATION_KEY);
|
||||
if (StrUtil.isNotBlank(authorization)) {
|
||||
String tokenStr = authorization.replace(SecurityConstants.AUTHORIZATION_PREFIX, Strings.EMPTY);
|
||||
// CustomCacheUtil customCacheUtil = SpringUtil.getBean(CustomCacheUtil.CACHE_NAME);
|
||||
// String userjson = customCacheUtil.get(tokenStr, false);
|
||||
// SysUser user = JSONObject.parseObject(userjson, SysUser.class);
|
||||
// username = user.getName();
|
||||
|
||||
Map<String, Object> map = JwtUtil.parseToken(tokenStr);
|
||||
SysUser user = sysUserService.getById((String) map.get(SecurityConstants.USER_ID));
|
||||
|
||||
@@ -91,5 +91,7 @@ public interface SystemValidMessage {
|
||||
|
||||
String TOKEN_EXPIRED = "token已过期,请重新登录";
|
||||
|
||||
String ACCESS_TOKEN_EXPIRED = "access-token已过期";
|
||||
|
||||
String USER_ID_FORMAT_ERROR = "用户id格式错误,请检查userId参数";
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user