Переглянути джерело

个人密码修改增加重放

xusl 2 роки тому
батько
коміт
c32c8332b9

+ 1 - 2
backend/src/main/java/com/jiayue/ssi/aspectj/PreventReplayAspect.java

@@ -57,8 +57,7 @@ public class PreventReplayAspect {
             }
         }
         catch (Exception e) {
-            log.error("防重放解析失败",e);
-            return ResponseVO.fail("防重放解析失败,不能操作");
+            return ResponseVO.fail("防重放解析失败,不能操作!");
         }
         // result的值就是被拦截方法的返回值
         ResponseVO result = (ResponseVO)pjp.proceed();

+ 1 - 0
backend/src/main/java/com/jiayue/ssi/controller/SysUserController.java

@@ -408,6 +408,7 @@ public class SysUserController {
      */
     @PostMapping(value = "/updatePassword")
     @OperateLog(title = "用户管理", businessType = BusinessType.UPDATE, auditType = AuditType.SYS)
+    @PreventReplay
     public ResponseVO updatePassword(String id, String oldPassword, String newPassword, String confirmPassword) throws CustomException {
         try {
             if (StringUtils.isEmpty(id)) {

+ 13 - 3
ui/src/views/sysManager/userManager/profile/resetPwd.vue

@@ -76,7 +76,7 @@ export default {
       }
     },
     submit:debounce(function(){
-      this.$refs["form"].validate(valid => {
+      this.$refs["form"].validate(async valid => {
         if (valid) {
           // 密码验证规则
           if (this.sameReg.test(this.pwd.newPassword)) {
@@ -110,6 +110,14 @@ export default {
             this.$message.error('密码不满足8~20位大写字母、小写字母、数字、特殊字符三种以上的组合')
             return
           }
+          let sysTime
+          let lk
+          await this.$axios.get('/sysPolicyController/getLicenseKey').then((res) => {
+            sysTime = res.data.sysTime
+            lk = res.data.lk
+          }).catch((error) => {
+          })
+
           // 用户信息解密
           let decryptUserInfo = userinfoDecrypt(sessionStorage.getItem('active'))
           this.user = JSON.parse(decryptUserInfo).sysUser
@@ -117,9 +125,11 @@ export default {
             id: this.user.id,
             oldPassword: this.pwd.oldPassword,
             newPassword: this.pwd.newPassword,
-            confirmPassword: this.pwd.confirmPassword
+            confirmPassword: this.pwd.confirmPassword,
+            sysTime: sysTime,
+            lk: lk
           }
-          this.$axios.post('/sysUserController/updatePassword', param).then((res) => {
+          await this.$axios.post('/sysUserController/updatePassword', param).then((res) => {
             if (res.code==0){
               this.$message.success('密码修改成功')
               this.pwdReset()