Commit d5ac6e7a199e3e36b46d89445fe1f8fe3a16130a
1 parent
eca27cd1
完善登出功能,记录日志
Showing
1 changed file
with
17 additions
and
1 deletions
src/main/java/cn/iocoder/dashboard/modules/system/service/auth/impl/SysAuthServiceImpl.java
| @@ -160,7 +160,23 @@ public class SysAuthServiceImpl implements SysAuthService { | @@ -160,7 +160,23 @@ public class SysAuthServiceImpl implements SysAuthService { | ||
| 160 | 160 | ||
| 161 | @Override | 161 | @Override |
| 162 | public void logout(String token) { | 162 | public void logout(String token) { |
| 163 | -// AsyncManager.me().execute(AsyncFactory.recordLogininfor(userName, Constants.LOGOUT, "退出成功")); TODO 需要搞一搞 | 163 | + // 查询用户信息 |
| 164 | + LoginUser loginUser = userSessionService.getLoginUser(token); | ||
| 165 | + if(loginUser == null) return; | ||
| 166 | + // 删除session | ||
| 167 | + userSessionService.deleteUserSession(token); | ||
| 168 | + this.createLogoutLog(loginUser.getUsername(), SysLoginResultEnum.SUCCESS); | ||
| 169 | + } | ||
| 170 | + | ||
| 171 | + private void createLogoutLog(String username, SysLoginResultEnum loginResult) { | ||
| 172 | + SysLoginLogCreateReqVO reqVO = new SysLoginLogCreateReqVO(); | ||
| 173 | + reqVO.setLogType(SysLoginLogTypeEnum.LOGOUT_SELF.getType()); | ||
| 174 | + reqVO.setTraceId(TracerUtils.getTraceId()); | ||
| 175 | + reqVO.setUsername(username); | ||
| 176 | + reqVO.setUserAgent(ServletUtils.getUserAgent()); | ||
| 177 | + reqVO.setUserIp(ServletUtils.getClientIP()); | ||
| 178 | + reqVO.setResult(loginResult.getResult()); | ||
| 179 | + loginLogService.createLoginLog(reqVO); | ||
| 164 | } | 180 | } |
| 165 | 181 | ||
| 166 | @Override | 182 | @Override |