From a54cb7d3e48cdf3adf7e998dc9c91dab4eb4def6 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期四, 03 三月 2022 11:18:10 +0800
Subject: [PATCH] update 简化查询菜单功能

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java |   18 +++++++++++-------
 1 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java
index 60e3ca7..62ca18b 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java
@@ -1,5 +1,6 @@
 package com.ruoyi.system.service;
 
+import cn.dev33.satoken.secure.BCrypt;
 import cn.dev33.satoken.stp.StpUtil;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.ObjectUtil;
@@ -16,8 +17,8 @@
 import com.ruoyi.common.helper.LoginHelper;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.MessageUtils;
-import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.ServletUtils;
+import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.redis.RedisUtils;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -68,7 +69,7 @@
 
         SysUser user = loadUserByUsername(username);
 
-        if (!SecurityUtils.matchesPassword(password, user.getPassword())) {
+        if (!BCrypt.checkpw(password, user.getPassword())) {
             // 鏄惁绗竴娆�
             errorNumber = ObjectUtil.isNull(errorNumber) ? 1 : errorNumber + 1;
             // 杈惧埌瑙勫畾閿欒娆℃暟 鍒欓攣瀹氱櫥褰�
@@ -86,14 +87,17 @@
 
         // 鐧诲綍鎴愬姛 娓呯┖閿欒娆℃暟
         RedisUtils.deleteObject(Constants.LOGIN_ERROR + username);
-        asyncService.recordLogininfor(username, Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success"), request);
-        recordLoginInfo(user.getUserId(), username);
-
         LoginUser loginUser = buildLoginUser(user);
-
         // 鐢熸垚token
         LoginHelper.loginByDevice(loginUser, DeviceType.PC);
+
+        asyncService.recordLogininfor(username, Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success"), request);
+        recordLoginInfo(user.getUserId(), username);
         return StpUtil.getTokenValue();
+    }
+
+    public void logout(String loginName) {
+        asyncService.recordLogininfor(loginName, Constants.LOGOUT, MessageUtils.message("user.logout.success"), ServletUtils.getRequest());
     }
 
     /**
@@ -104,7 +108,7 @@
      * @param uuid     鍞竴鏍囪瘑
      */
     public void validateCaptcha(String username, String code, String uuid, HttpServletRequest request) {
-        String verifyKey = Constants.CAPTCHA_CODE_KEY + uuid;
+        String verifyKey = Constants.CAPTCHA_CODE_KEY + StringUtils.defaultString(uuid, "");
         String captcha = RedisUtils.getCacheObject(verifyKey);
         RedisUtils.deleteObject(verifyKey);
         if (captcha == null) {

--
Gitblit v1.9.3