Forráskód Böngészése

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

疯狂的狮子li 4 éve
szülő
commit
e560ebaeae

+ 3 - 5
ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java

@@ -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);
     }
 

+ 8 - 2
ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java

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