【7.6.0】【auth】loginUser缓存增加登录ip和登录时间

pull/57/head
fengshuonan 2023-07-02 14:19:18 +08:00
parent ab6398ee91
commit 210a4077d7
2 changed files with 19 additions and 1 deletions

View File

@ -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() {
}

View File

@ -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.登录成功日志