Browse Source

fix:登录逻辑优化,未有此用户提示正常信息

侯茂昌 1 year ago
parent
commit
4bae7fe5f2

+ 6 - 5
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java

@@ -33,6 +33,7 @@ import javax.annotation.Resource;
  */
 @RestController
 public class SysLoginController {
+
     @Autowired
     private SysLoginService loginService;
 
@@ -71,7 +72,6 @@ public class SysLoginController {
 
     /**
      * 登录方法
-     *
      * @param loginBody 登录信息
      * @return 结果
      */
@@ -79,13 +79,14 @@ public class SysLoginController {
     public AjaxResult login(@RequestBody LoginBody loginBody) {
         //校验租户状态?生成token
         AjaxResult ajax = AjaxResult.success();
-        String  checkTenantExpirationTimeMsg= loginService.checkTenantExpirationTime(loginBody.getUsername());
-        if(!checkTenantExpirationTimeMsg.isEmpty()){
-            return AjaxResult.error(checkTenantExpirationTimeMsg);
-        }
         // 生成令牌
         String token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(),
                 loginBody.getUuid());
+        //校验租户是否过期
+        String  checkTenantExpirationTimeMsg= loginService.checkTenantExpirationTime(loginBody);
+        if(!checkTenantExpirationTimeMsg.isEmpty()){
+            return AjaxResult.error(checkTenantExpirationTimeMsg);
+        }
         ajax.put(Constants.TOKEN, token);
         return ajax;
     }

+ 1 - 1
ruoyi-admin/src/main/resources/application-druid.yml

@@ -8,7 +8,7 @@ spring:
             master:
                 url: jdbc:mysql://192.168.110.15:3306/ry-vue-call?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
                 username: root
-                password: 123456
+                password: zkqy8888
             # 从库数据源
             slave:
                 # 从数据源开关/默认关闭

+ 3 - 3
ruoyi-admin/src/main/resources/application.yml

@@ -70,13 +70,13 @@ spring:
   # redis 配置
   redis:
     # 地址
-    host: localhost
+    host: 192.168.110.15
     # 端口,默认为6379
     port: 6379
     # 数据库索引
     database: 0
     # 密码
-    password: 123456
+    password:
     # 连接超时时间
     timeout: 10s
     lettuce:
@@ -97,7 +97,7 @@ token:
   # 令牌密钥
   secret: abcdefghijklmnopqrstuvwxyz
   # 令牌有效期(默认30分钟)
-  expireTime: 30
+  expireTime: 300000
 
 # MyBatis配置
 mybatis:

+ 6 - 6
ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java

@@ -6,6 +6,7 @@ import cn.hutool.core.util.CharsetUtil;
 import cn.hutool.crypto.symmetric.SymmetricAlgorithm;
 import cn.hutool.crypto.symmetric.SymmetricCrypto;
 import com.ruoyi.common.core.domain.entity.SysTenant;
+import com.ruoyi.common.core.domain.model.LoginBody;
 import com.ruoyi.system.service.impl.SysTenantServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.authentication.AuthenticationManager;
@@ -190,16 +191,15 @@ public class SysLoginService
         sysUser.setLoginDate(DateUtils.getNowDate());
         userService.updateUserProfile(sysUser);
     }
-
-    public String checkTenantExpirationTime(String username) {
-        SysUser user = userService.selectUserByUserName(username);
+    public String checkTenantExpirationTime(LoginBody loginBody) {
+        // 拿到当前用户
+        SysUser user = userService.selectUserByUserName(loginBody.getUsername());
         //拿到当前登录用户
-        System.out.println(user);
         if(!user.getUserName().equals("admin")){
             //根据租户id查询租户信息
             SysTenant sysTenant = sysTenantService.selectSysTenantByTenantId(user.getTenantId());
-            if(sysTenant!=null){
-                System.out.println("dfsdfasdfasd");
+            if(sysTenant==null){
+                return "未有此租户信息";
             }
             if(sysTenant.getTenantExpirationTime()==null||sysTenant.getTenantExpirationTime().isEmpty()){
                 return "该用户租户信息并未激活";