之前在用boot版本时候未出现过这种情况,cloud版本auth模块下 TokenController.java
@DeleteMapping("logout")
public R<?> logout(HttpServletRequest request) {
String token = SecurityUtils.getToken(request);
if (StringUtils.isNotEmpty(token)) {
String username = JwtUtils.getUserName(token);
// 删除用户缓存记录
AuthUtil.logoutByToken(token);
// 记录用户退出日志
sysLoginService.logout(username);
}
return R.ok();
}
如果debug模式就能很明确的看到token为null,但还是进入了if判断里面,因为这个token是 "null"
if (StringUtils.isNotEmpty(token) && !"null".equals(token)) {
这样修改就好了 还不行的话只能清楚cookie了