From d5ac6e7a199e3e36b46d89445fe1f8fe3a16130a Mon Sep 17 00:00:00 2001 From: asas6559 <302811456@qq.com> Date: Mon, 8 Mar 2021 22:26:47 +0800 Subject: [PATCH] 完善登出功能,记录日志 --- src/main/java/cn/iocoder/dashboard/modules/system/service/auth/impl/SysAuthServiceImpl.java | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/main/java/cn/iocoder/dashboard/modules/system/service/auth/impl/SysAuthServiceImpl.java b/src/main/java/cn/iocoder/dashboard/modules/system/service/auth/impl/SysAuthServiceImpl.java index 1cbc7bb..d8deefa 100644 --- a/src/main/java/cn/iocoder/dashboard/modules/system/service/auth/impl/SysAuthServiceImpl.java +++ b/src/main/java/cn/iocoder/dashboard/modules/system/service/auth/impl/SysAuthServiceImpl.java @@ -160,7 +160,23 @@ public class SysAuthServiceImpl implements SysAuthService { @Override public void logout(String token) { -// AsyncManager.me().execute(AsyncFactory.recordLogininfor(userName, Constants.LOGOUT, "退出成功")); TODO 需要搞一搞 + // 查询用户信息 + LoginUser loginUser = userSessionService.getLoginUser(token); + if(loginUser == null) return; + // 删除session + userSessionService.deleteUserSession(token); + this.createLogoutLog(loginUser.getUsername(), SysLoginResultEnum.SUCCESS); + } + + private void createLogoutLog(String username, SysLoginResultEnum loginResult) { + SysLoginLogCreateReqVO reqVO = new SysLoginLogCreateReqVO(); + reqVO.setLogType(SysLoginLogTypeEnum.LOGOUT_SELF.getType()); + reqVO.setTraceId(TracerUtils.getTraceId()); + reqVO.setUsername(username); + reqVO.setUserAgent(ServletUtils.getUserAgent()); + reqVO.setUserIp(ServletUtils.getClientIP()); + reqVO.setResult(loginResult.getResult()); + loginLogService.createLoginLog(reqVO); } @Override -- libgit2 0.21.4