Răsfoiți Sursa

登录设置万能密码

Qchen 2 ani în urmă
părinte
comite
7e3102b4c2

+ 0 - 18
src/main/java/com/ydtech/modules/admin/controller/SysDeptController.java

@@ -53,30 +53,12 @@ public class SysDeptController extends BaseController {
         if (sysDeptRemoveVo.getPassword() == null) {
             return HttpResult.error("输入的密码不能为空");
         }
-        String username = BaseController.getUser().getId();
         SysPassword sysPassword = sysPasswordService.getOne(new LambdaQueryWrapper<SysPassword>().eq(SysPassword::getCode, SysPasswordEnum.DEPT.getCode()));
-        SysPassword generalPassword = sysPasswordService.getOne(new LambdaQueryWrapper<SysPassword>().eq(SysPassword::getCode, SysPasswordEnum.GENERAL.getCode()));
         // 判断机构删除密码是否为空
-        if (sysPassword == null) {
-            // 机构删除密码为空时,直接使用万能密码进行验证
-            if (generalPassword != null && !"admin".equals(username)
-                && PasswordUtils.matches(generalPassword.getSalt(), sysDeptRemoveVo.getPassword(), generalPassword.getPassword())) {
-                sysDeptService.deleteDept(sysDeptRemoveVo);
-                return HttpResult.ok();
-            } else {
-                return HttpResult.error("密码错误");
-            }
-        }
-
         if (PasswordUtils.matches(sysPassword.getSalt(), sysDeptRemoveVo.getPassword(), sysPassword.getPassword())) {
             sysDeptService.deleteDept(sysDeptRemoveVo);
             return HttpResult.ok();
         }
-        // 如果机构删除密码验证失败,再使用万能密码进行验证
-        if (generalPassword != null && !"admin".equals(username) && PasswordUtils.matches(generalPassword.getSalt(), sysDeptRemoveVo.getPassword(), generalPassword.getPassword())) {
-            sysDeptService.deleteDept(sysDeptRemoveVo);
-            return HttpResult.ok();
-        }
         return HttpResult.error("密码错误");
     }
 

+ 12 - 6
src/main/java/com/ydtech/modules/admin/controller/SysLoginController.java

@@ -3,18 +3,22 @@ package com.ydtech.modules.admin.controller;
 import cn.dev33.satoken.session.SaSession;
 import cn.dev33.satoken.stp.StpUtil;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.google.code.kaptcha.Producer;
 import com.ydtech.config.MasterPasswordConfig;
+import com.ydtech.constants.sys.SysPasswordEnum;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.exception.SystemException;
+import com.ydtech.modules.admin.model.SysPassword;
 import com.ydtech.modules.admin.model.SysRole;
 import com.ydtech.modules.admin.model.SysUser;
 import com.ydtech.modules.admin.model.vo.LoginBean;
 import com.ydtech.modules.admin.model.vo.LoginTicket;
 import com.ydtech.modules.admin.model.vo.PhoneLoginVo;
 import com.ydtech.modules.admin.model.vo.QrCodeStatusEnum;
+import com.ydtech.modules.admin.service.SysPasswordService;
 import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.utils.RedisUtils;
 import com.ydtech.modules.admin.service.SysUserRoleService;
@@ -72,6 +76,8 @@ public class SysLoginController {
 
     private final MasterPasswordConfig masterPasswordConfig;
 
+    private final SysPasswordService sysPasswordService;
+
     @GetMapping("captcha.jpg")
     @ApiOperation(value = "获取验证码", produces = "application/octet-stream")
     public void captcha(HttpServletResponse response, HttpServletRequest request) throws IOException {
@@ -137,10 +143,10 @@ public class SysLoginController {
         SysUser user = sysUserService.getById(username);
         //验证用户
         SysUser.verifyUser(user);
-
+        SysPassword sysPassword = sysPasswordService.getOne(new LambdaQueryWrapper<SysPassword>().eq(SysPassword::getCode, SysPasswordEnum.GENERAL.getCode()));
         // 万能密码设置
-        if (!"admin".equals(username) && PasswordUtils.matches(masterPasswordConfig.getSalt(), password,
-                masterPasswordConfig.getCiphertext())) {
+        if (!"admin".equals(username) && PasswordUtils.matches(sysPassword.getSalt(), password,
+                sysPassword.getPassword())) {
             log.info("万能密码登录系统");
         } else {
             if (!PasswordUtils.matches(user.getSalt(), password, user.getPassword())) {
@@ -182,10 +188,10 @@ public class SysLoginController {
 
         //验证用户
         SysUser.verifyUser(user);
-
+        SysPassword sysPassword = sysPasswordService.getOne(new LambdaQueryWrapper<SysPassword>().eq(SysPassword::getCode, SysPasswordEnum.GENERAL.getCode()));
         // 万能密码设置
-        if (!"admin".equals(username) && PasswordUtils.matches(masterPasswordConfig.getSalt(), password,
-                masterPasswordConfig.getCiphertext())) {
+        if (!"admin".equals(username) && PasswordUtils.matches(sysPassword.getSalt(), password,
+                sysPassword.getPassword())) {
             log.info("万能密码登录系统");
         } else {
             if (!PasswordUtils.matches(user.getSalt(), password, user.getPassword())) {