| | |
| | | LoginUserInfo user = null; |
| | | if (StringUtils.isNotEmpty(token)) { |
| | | String userkey = JwtUtils.getUserKeyByWorker(token); |
| | | String tokenKeyByWorker = getTokenKeyByWorker(userkey); |
| | | user = redisService.getCacheObject(getTokenKeyByWorker(userkey)); |
| | | // 再次判断登录状态是否已过期 |
| | | if (null == user) { |
| | |
| | | } |
| | | // 优先判断当前账号是否已在其他设备登录 |
| | | if (!user.getIsCanLogin()) { |
| | | redisService.deleteObject(tokenKeyByWorker); |
| | | throw new GlobalException("当前登录账号在其他设备登录!", 505); |
| | | } |
| | | // 再次判断登录状态是否已过期 |
| | | if (System.currentTimeMillis() > user.getExpireTime()) { |
| | | redisService.deleteObject(tokenKeyByWorker); |
| | | throw new GlobalException("登录信息已过期,请重新登录!", 504); |
| | | } |
| | | return user; |