| | |
| | | private PlatformClientUtil platformClientUtil; |
| | | |
| | | /** |
| | | * 当前登录的用户总数key |
| | | */ |
| | | private static final String CURRENT_LOGGED_USERS_KEY = "current_logged_users"; |
| | | |
| | | /** |
| | | * 执行登录 |
| | | * @param userDTO 登录信息 |
| | | * @param clientInfo 请求的客户端的信息 |
| | |
| | | String tokenKey = redisService.getCacheObject(userIdTokenKey); |
| | | redisService.deleteObject(tokenKey); |
| | | redisService.deleteObject(userIdTokenKey); |
| | | redisService.userLogout(CURRENT_LOGGED_USERS_KEY,userDTO.getUserId()); |
| | | } |
| | | |
| | | //3.获取用户的对象(对象中包含角色部门还有密码策略信息(当前用户没设置密码策略就是取的默认密码策略)) |
| | |
| | | sessionInfo.setToken(token); |
| | | //初始化平台的token |
| | | sessionForLogin.initInvocationInfo(sessionInfo); |
| | | //记录当前登录人数的总数 |
| | | redisService.userLogin(CURRENT_LOGGED_USERS_KEY,userDTO.getUserId()); |
| | | //拷贝用户到新的session会话中 |
| | | copyUser2SessionInfo(user, sessionInfo, userDTO.getLangCode()); |
| | | //拷贝请求信息到session会话中 |
| | |
| | | } |
| | | }); |
| | | } |
| | | //清除存当前登录的用户(总数-1) |
| | | redisService.userLogout(CURRENT_LOGGED_USERS_KEY,WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId()); |
| | | sessionForLogin.logout(userToken); |
| | | if(!CollectionUtils.isEmpty(logoutpluginBeanMap)){ |
| | | logoutpluginBeanMap.forEach((k,v) -> { |