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