From ae9bfd2d66f68a553786ac78b12f4390e65e4e09 Mon Sep 17 00:00:00 2001 From: 44323 <443237572@qq.com> Date: 星期五, 24 十一月 2023 18:30:18 +0800 Subject: [PATCH] 后台bug修改 --- cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/LoginController.java | 66 ++++++++++++++++++++++++++++---- 1 files changed, 57 insertions(+), 9 deletions(-) diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/LoginController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/LoginController.java index 620978e..2b8a8d2 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/LoginController.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/LoginController.java @@ -1,10 +1,14 @@ package com.dsh.guns.modular.system.controller.system; +import com.dsh.course.feignClient.account.AppUserClient; +import com.dsh.course.feignClient.account.model.TAppUser; import com.dsh.course.feignClient.auth.UserClient; import com.dsh.course.feignClient.auth.model.GetTokenRequest; import com.dsh.course.feignClient.auth.model.TokenResponse; import com.dsh.course.model.node.MenuNode; +import com.dsh.course.util.RedisUtil; import com.dsh.guns.config.UserExt; +import com.dsh.guns.core.util.ToolUtil; import com.dsh.guns.modular.system.controller.util.CaptchaGenerator; import com.dsh.guns.modular.system.controller.util.CaptchaImageGenerator; import com.dsh.guns.modular.system.controller.util.MD5; @@ -12,6 +16,7 @@ import com.dsh.guns.modular.system.service.IRelationService; import com.dsh.guns.modular.system.service.IRoleService; import com.dsh.guns.modular.system.util.CacheUtil; +import com.dsh.guns.modular.system.util.ResultUtil; import com.google.code.kaptcha.Constants; import com.dsh.guns.core.base.controller.BaseController; import com.dsh.guns.core.common.exception.InvalidKaptchaException; @@ -24,6 +29,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @@ -54,6 +60,8 @@ @Autowired private IRoleService roleService; + @Autowired + private AppUserClient appUserClient; @Resource private UserClient userClient; @@ -65,8 +73,33 @@ + /** + * 跳转到修改密码页面 + */ + @PostMapping("/update") + public String updatePassword(Model model) { + return "/password.html" ; + } + @Autowired + private RedisUtil redisUtil; + /** + * 点击登录执行的动作 + */ + @RequestMapping(value = "/updatePassword", method = RequestMethod.POST) + public Object loginVali(String username, String password,String code) { - + User user = userService.getByAccount(username); + if (user==null)return "用户不存在"; + password = AESUtils.decrypt(password); + String s = MD5.md5(password); + if(user.getPassword().equals(s))return "新密码和旧密码一致"; + //验证短信验证码 + if(ToolUtil.isEmpty(code))return "无效的验证码"; + String value = redisUtil.getValue(user.getPhone()); + if(ToolUtil.isEmpty(value) || !code.equals(value))return "手机验证码不正确"; + user.setPassword(s); + return "修改成功!"; + } /** * 跳转到主页 */ @@ -118,6 +151,21 @@ // || user.getPassWordUpdate().getTime() + 7776000000L <= System.currentTimeMillis() // ? a: ""); return "/index.html"; + } + @RequestMapping("/getSMSCode") + public ResultUtil getSMSCode(String phone){ + if(ToolUtil.isEmpty(phone)){ + return ResultUtil.paranErr("phone"); + } + try { + TAppUser appUserByPhone = appUserClient.getAppUserByPhone(phone); + if (appUserByPhone==null)return ResultUtil.error("当前手机号未注册!"); + ResultUtil smsCode = userService.getSMSCode(phone); + return smsCode; + }catch (Exception e){ + e.printStackTrace(); + return ResultUtil.runErr(); + } } @@ -179,20 +227,20 @@ f++; loginFailures.put(username, f); } - + if (KaptchaUtil.getKaptchaOnOff()) { + String kaptcha = super.getPara("kaptcha").trim(); + String code = (String) super.getSession().getAttribute(Constants.KAPTCHA_SESSION_KEY); + if (Objects.isNull(kaptcha) || !kaptcha.equalsIgnoreCase(code)) { + model.addAttribute("tips", "验证码错误"); + return "/login.html"; + } + } // if (f > 5 && (System.currentTimeMillis() - t) <= (30 * 60 * 1000)) { // model.addAttribute("tips", "登录次数过多,请等30分钟再试!"); // return "/login.html"; // } //验证验证码是否正确 //Verify if the verification code is correct. - if (KaptchaUtil.getKaptchaOnOff()) { - String kaptcha = super.getPara("kaptcha").trim(); - String code = (String) super.getSession().getAttribute(Constants.KAPTCHA_SESSION_KEY); - if (Objects.isNull(kaptcha) || !kaptcha.equalsIgnoreCase(code)) { - throw new InvalidKaptchaException(); - } - } User user = userService.getByAccount(username); password = AESUtils.decrypt(password); String s = MD5.md5(password); -- Gitblit v1.7.1