diff --git a/kernel-d-auth/auth-api/src/main/java/cn/stylefeng/roses/kernel/auth/api/pojo/login/LoginUser.java b/kernel-d-auth/auth-api/src/main/java/cn/stylefeng/roses/kernel/auth/api/pojo/login/LoginUser.java index 6ae87add2..94f32629c 100644 --- a/kernel-d-auth/auth-api/src/main/java/cn/stylefeng/roses/kernel/auth/api/pojo/login/LoginUser.java +++ b/kernel-d-auth/auth-api/src/main/java/cn/stylefeng/roses/kernel/auth/api/pojo/login/LoginUser.java @@ -29,6 +29,7 @@ import cn.stylefeng.roses.kernel.rule.constants.RuleConstants; import lombok.Data; import java.io.Serializable; +import java.util.Date; /** * 登录用户信息 @@ -81,6 +82,18 @@ public class LoginUser implements Serializable { @ChineseDescription("当前用户语种的标识") private String tranLanguageCode = RuleConstants.CHINESE_TRAN_LANGUAGE_CODE; + /** + * 登录时候的IP + */ + @ChineseDescription("登录时候的IP") + private String loginIp; + + /** + * 登录时间 + */ + @ChineseDescription("登录时间") + private Date loginTime; + public LoginUser() { } diff --git a/kernel-d-auth/auth-sdk/src/main/java/cn/stylefeng/roses/kernel/auth/auth/LoginService.java b/kernel-d-auth/auth-sdk/src/main/java/cn/stylefeng/roses/kernel/auth/auth/LoginService.java index febfaf421..3830fb307 100644 --- a/kernel-d-auth/auth-sdk/src/main/java/cn/stylefeng/roses/kernel/auth/auth/LoginService.java +++ b/kernel-d-auth/auth-sdk/src/main/java/cn/stylefeng/roses/kernel/auth/auth/LoginService.java @@ -43,6 +43,7 @@ import com.alibaba.fastjson.JSONObject; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.Date; /** * 登录相关的逻辑封装 @@ -147,6 +148,11 @@ public class LoginService { // 9. 创建loginUser对象 LoginUser loginUser = new LoginUser(userValidateInfo.getUserId(), userLoginToken); + // 9.1 记录用户登录时间和ip + String ip = HttpServletUtil.getRequestClientIp(HttpServletUtil.getRequest()); + loginUser.setLoginIp(ip); + loginUser.setLoginTime(new Date()); + synchronized (loginRequest.getAccount().intern()) { // 10. 缓存用户信息,创建会话 @@ -161,7 +167,6 @@ public class LoginService { // 演示环境,跳过记录日志,非演示环境则记录登录日志 if (!DemoConfigExpander.getDemoEnvFlag()) { // 12. 更新用户登录时间和ip - String ip = HttpServletUtil.getRequestClientIp(HttpServletUtil.getRequest()); sysUserServiceApi.updateUserLoginInfo(loginUser.getUserId(), ip); // 13.登录成功日志