单点登陆
parent
86f663e55f
commit
8926ac4236
|
@ -72,6 +72,9 @@ public class Constants {
|
|||
//专项数量前缀
|
||||
public static String SPECIAL_NUM_PREFIX= "SpecialNum_";
|
||||
|
||||
//token手机号前缀
|
||||
public static String PHONE_PREFIX= "loginPhone_";
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -98,6 +98,13 @@ public class TdSysUserServiceImpl extends ServiceImpl<TdSysUserMapper, TdSysUser
|
|||
throw new BusinessException("用户注册异常");
|
||||
}
|
||||
}
|
||||
//清除上一个人登陆的token信息
|
||||
String oldToken = redisCache.getCacheObject(Constants.PHONE_PREFIX + tdSysUser.getPhone());
|
||||
if (StrUtil.isNotBlank(oldToken)){
|
||||
redisCache.deleteObject(Constants.PHONE_PREFIX + tdSysUser.getPhone());
|
||||
redisCache.deleteObject(oldToken);
|
||||
}
|
||||
|
||||
String token = UUID.randomUUID().toString();
|
||||
LoginUserVo loginUserVo = new LoginUserVo();
|
||||
BeanUtils.copyProperties(tdSysUser, loginUserVo);
|
||||
|
@ -105,6 +112,7 @@ public class TdSysUserServiceImpl extends ServiceImpl<TdSysUserMapper, TdSysUser
|
|||
loginUserVo.setDays(DateTimeUtil.getIntervalDays(loginUserVo.getCreateTime(),LocalDateTime.now()) + 1);
|
||||
// 存入redis
|
||||
redisCache.setCacheObject(token, tdSysUser, tokenExpireTime, TimeUnit.DAYS);
|
||||
redisCache.setCacheObject(Constants.PHONE_PREFIX + tdSysUser.getPhone(), token, tokenExpireTime, TimeUnit.DAYS);
|
||||
return loginUserVo;
|
||||
}
|
||||
|
||||
|
@ -112,6 +120,11 @@ public class TdSysUserServiceImpl extends ServiceImpl<TdSysUserMapper, TdSysUser
|
|||
public Boolean loginOut() {
|
||||
String token = TokenThreadUtil.getToken();
|
||||
if (StrUtil.isNotBlank(token)) {
|
||||
TdSysUser tdSysUser = redisCache.getCacheObject(token);
|
||||
if (Objects.nonNull(tdSysUser) && Objects.nonNull(tdSysUser.getPhone())){
|
||||
redisCache.deleteObject(Constants.PHONE_PREFIX + tdSysUser.getPhone());
|
||||
}
|
||||
|
||||
redisCache.deleteObject(token);
|
||||
}
|
||||
return Boolean.TRUE;
|
||||
|
|
Loading…
Reference in New Issue