update 调整用户登录 将日志调整到最后 防止获取不到用户警告

2.X
疯狂的狮子li 3 years ago
parent 21d72c4360
commit e560ebaeae

@ -6,7 +6,6 @@ import com.ruoyi.auth.form.LoginBody;
import com.ruoyi.auth.form.RegisterBody;
import com.ruoyi.auth.service.SysLoginService;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.enums.DeviceType;
import com.ruoyi.common.satoken.utils.LoginHelper;
import com.ruoyi.system.api.model.LoginUser;
import io.swagger.annotations.Api;
@ -38,12 +37,11 @@ public class TokenController {
@PostMapping("login")
public R<Map<String, Object>> login(@Validated @RequestBody LoginBody form) {
// 用户登录
LoginUser userInfo = sysLoginService.login(form.getUsername(), form.getPassword());
// 获取登录token
LoginHelper.loginByDevice(userInfo, DeviceType.PC);
String accessToken = sysLoginService.login(form.getUsername(), form.getPassword());
// 接口返回信息
Map<String, Object> rspMap = new HashMap<String, Object>();
rspMap.put("access_token", StpUtil.getTokenValue());
rspMap.put("access_token", accessToken);
return R.ok(rspMap);
}

@ -1,16 +1,19 @@
package com.ruoyi.auth.service;
import cn.dev33.satoken.secure.BCrypt;
import cn.dev33.satoken.stp.StpUtil;
import cn.hutool.core.util.ObjectUtil;
import com.ruoyi.auth.form.RegisterBody;
import com.ruoyi.common.core.constant.CacheConstants;
import com.ruoyi.common.core.constant.Constants;
import com.ruoyi.common.core.enums.DeviceType;
import com.ruoyi.common.core.enums.UserType;
import com.ruoyi.common.core.exception.user.UserException;
import com.ruoyi.common.core.utils.MessageUtils;
import com.ruoyi.common.core.utils.ServletUtils;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.redis.utils.RedisUtils;
import com.ruoyi.common.satoken.utils.LoginHelper;
import com.ruoyi.system.api.RemoteLogService;
import com.ruoyi.system.api.RemoteUserService;
import com.ruoyi.system.api.domain.SysLogininfor;
@ -37,7 +40,7 @@ public class SysLoginService {
/**
*
*/
public LoginUser login(String username, String password) {
public String login(String username, String password) {
LoginUser userInfo = remoteUserService.getUserInfo(username);
// 获取用户登录错误次数(可自定义限制策略 例如: key + username + ip)
@ -65,8 +68,11 @@ public class SysLoginService {
}
// 登录成功 清空错误次数
RedisUtils.deleteObject(CacheConstants.LOGIN_ERROR + username);
// 获取登录token
LoginHelper.loginByDevice(userInfo, DeviceType.PC);
recordLogininfor(username, Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success"));
return userInfo;
return StpUtil.getTokenValue();
}
public void logout(String loginName) {

Loading…
Cancel
Save