2021与蓝度共同重构项目,服务端
liuhaonan
2022-04-26 78b6b14bc531b9e613fb416520d03ced7d880c59
bug修复
已修改3个文件
29 ■■■■ 文件已修改
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AdminController.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/ClientController.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/security/authcode/VerifyCodeController.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AdminController.java
@@ -23,6 +23,7 @@
import com.sandu.ximon.admin.security.PermissionConfig;
import com.sandu.ximon.admin.security.SecurityUtils;
import com.sandu.ximon.admin.service.*;
import com.sandu.ximon.admin.utils.RedisUtils;
import com.sandu.ximon.dao.bo.MenuNode;
import com.sandu.ximon.dao.domain.*;
import com.sandu.ximon.dao.enums.AdministratorEnums;
@@ -73,10 +74,14 @@
        if (admin == null) {
            return ResponseUtil.error(ResponseStatusEnums.BAD_CREDENTIALS.getCode(), ResponseStatusEnums.BAD_CREDENTIALS.getMessage());
        }
        String session_vcode = (String) request.getSession().getAttribute(loginParam.getKey());
        if (!StrUtil.equalsIgnoreCase(session_vcode, loginParam.getVlue())) {
//        String session_vcode = (String) request.getSession().getAttribute(loginParam.getKey());
        String s = RedisUtils.getBean().get(loginParam.getKey());
        System.out.println(s+"===========================");
        if (!loginParam.getVlue().equals(s)) {
            log.error(loginParam.getVlue() + "验证码");
            return ResponseUtil.error(ResponseStatusEnums.BAD_AUTHENTICATION.getCode(), ResponseStatusEnums.BAD_AUTHENTICATION.getMessage());
        }
        RedisUtils.getBean().delete(loginParam.getKey());
        if (!passwordEncoder.matches(loginParam.getPassword(), admin.getPassword())) {
            return ResponseUtil.error(ResponseStatusEnums.BAD_CREDENTIALS.getCode(), ResponseStatusEnums.BAD_CREDENTIALS.getMessage());
        }
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/ClientController.java
@@ -23,6 +23,7 @@
import com.sandu.ximon.admin.service.ClientRoleRelationService;
import com.sandu.ximon.admin.service.ClientService;
import com.sandu.ximon.admin.service.RoleService;
import com.sandu.ximon.admin.utils.RedisUtils;
import com.sandu.ximon.dao.domain.Client;
import com.sandu.ximon.dao.domain.ClientRoleRelation;
import com.sandu.ximon.dao.enums.AdministratorEnums;
@@ -160,10 +161,12 @@
        if (client == null) {
            return ResponseUtil.error(ResponseStatusEnums.BAD_CREDENTIALS.getCode(), ResponseStatusEnums.BAD_CREDENTIALS.getMessage());
        }
        String session_vcode = (String) request.getSession().getAttribute(loginParam.getKey());
        if (!StrUtil.equalsIgnoreCase(session_vcode, loginParam.getVlue())) {
        String s = RedisUtils.getBean().get(loginParam.getKey());
        System.out.println(s+"===========================");
        if (!loginParam.getVlue().equals(s)) {
            return ResponseUtil.error(ResponseStatusEnums.BAD_AUTHENTICATION.getCode(), ResponseStatusEnums.BAD_AUTHENTICATION.getMessage());
        }
        RedisUtils.getBean().delete(loginParam.getKey());
        if (!passwordEncoder.matches(loginParam.getPassword(), client.getPassword())) {
            return ResponseUtil.error(ResponseStatusEnums.BAD_CREDENTIALS.getCode(), ResponseStatusEnums.BAD_CREDENTIALS.getMessage());
        }
ximon-admin/src/main/java/com/sandu/ximon/admin/security/authcode/VerifyCodeController.java
@@ -4,6 +4,7 @@
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.sandu.common.security.annotation.AnonymousAccess;
import com.sandu.ximon.admin.utils.RedisUtils;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -33,6 +34,7 @@
public class VerifyCodeController {
    private final Snowflake snowflake;
//    private final RedisUtils redisUtils;
    @AnonymousAccess
@@ -47,15 +49,18 @@
        long key = snowflake.nextId();
        ImageVerificationCode ivc = new ImageVerificationCode();     //用我们的验证码类,生成验证码类对象
        BufferedImage image = ivc.getImage();  //获取验证码
        request.getSession().setAttribute(key+"", MD5Util.md5(ivc.getText().toUpperCase())); //将验证码的文本存在session中
        System.out.println(ivc.getText()+"----加密前的验证码");
//        System.out.println(MD5Util.md5(ivc.getText().toUpperCase())+"----加密后的验证码");
        RedisUtils.getBean().set(key+"",MD5Util.md5(ivc.getText().toUpperCase()),60);
//        request.getSession().setAttribute(key+"", MD5Util.md5(ivc.getText().toUpperCase())); //将验证码的文本存在session中
//        ImageVerificationCode.output(image, response.getOutputStream());//将验证码图片响应给客户端
        String img = getBufferedImageToBase64(image, "JPEG");
        String session_vcode = (String) request.getSession().getAttribute(key+"");
//        String session_vcode = (String) request.getSession().getAttribute(key+"");
        Map map = new HashMap();
//        map.put("img", "data:image/jpg;base64,"+png_base64);
        map.put("img", img);
        map.put("vlue", session_vcode);
//        map.put("vlue", session_vcode);
        map.put("key", key);
        return map;
    }