| | |
| | | userInfoInToken.setPerms(getUserPermissions(sysUser.getUserId())); |
| | | userInfoInToken.setNickName(sysUser.getUsername()); |
| | | userInfoInToken.setShopId(sysUser.getShopId()); |
| | | tokenStore.deleteAllToken(String.valueOf(SysTypeEnum.ADMIN.value()), String.valueOf(sysUser.getUserId())); |
| | | //tokenStore.deleteAllToken(String.valueOf(SysTypeEnum.ADMIN.value()), String.valueOf(sysUser.getUserId())); |
| | | |
| | | // 存储token返回vo |
| | | TokenInfoVO tokenInfoVO = tokenStore.storeAndGetVo(userInfoInToken); |
| | | RedisUtil.set(RedisKeys.ACCESS_IP + sysUser.getUserId().intValue(),IPHelper.getIpAddr()); |
| | | |
| | | //RedisUtil.set(RedisKeys.ACCESS_IP + sysUser.getUserId().intValue(),IPHelper.getIpAddr()); |
| | | // 关键修改2:用Redis Set存储多个登录IP(自动去重) |
| | | String loginIp = IPHelper.getIpAddr(); |
| | | String ipSetKey = RedisKeys.ACCESS_IP + sysUser.getUserId().intValue(); // 键:ACCESS_IP+用户ID |
| | | long tokenExpiresIn = tokenInfoVO.getExpiresIn(); // 与Token过期时间一致 |
| | | RedisUtil.sAdd(ipSetKey, loginIp); // 存入IP到Set |
| | | RedisUtil.expire(ipSetKey, tokenExpiresIn); // 设置过期时间 |
| | | |
| | | String context = MessageFormat.format("ip:{0}, 登录系统,时间[{1}]", |
| | | new Object[]{IPHelper.getIpAddr(), |
| | | DateUtils.dateToStr(new Date(), |