Ver Fonte

fix:修改用户密码正则

zqbao há 6 meses atrás
pai
commit
e719a9e418
2 ficheiros alterados com 23 adições e 2 exclusões
  1. 7 2
      controllers/sys_admin.go
  2. 16 0
      utils/common.go

+ 7 - 2
controllers/sys_admin.go

@@ -12,10 +12,11 @@ import (
 	etaTrialService "eta/eta_api/services/eta_trial"
 	"eta/eta_api/utils"
 	"fmt"
-	"github.com/rdlucklib/rdluck_tools/paging"
 	"strconv"
 	"strings"
 	"time"
+
+	"github.com/rdlucklib/rdluck_tools/paging"
 )
 
 // 系统用户
@@ -459,7 +460,7 @@ func (this *SysAdminController) Add() {
 			br.Msg = "请输入密码"
 			return
 		}
-		if !utils.CheckPwd(originPass) {
+		if !utils.CheckPwdV2(originPass) {
 			br.Msg = "密码格式错误,请重新输入"
 			return
 		}
@@ -1251,6 +1252,10 @@ func (this *SysAdminController) ResetPass() {
 	}
 	pwd := string(b)
 	//pwd = strings.ToLower(pwd)
+	if !utils.CheckPwdV2(pwd) {
+		br.Msg = "密码格式错误,请重新输入"
+		return
+	}
 	pwd = utils.MD5(pwd)
 
 	adminInfo.Password = pwd

+ 16 - 0
utils/common.go

@@ -683,6 +683,22 @@ func CheckPwd(pwd string) bool {
 	return flag
 }
 
+func CheckPwdV2(pwd string) bool {
+	var patternArr = []string{
+		".*[0-9]+.*", ".*[a-z]+.*", ".*[A-Z]+.*", ".*[@#$%^&+=.]+.*",
+	}
+	num := 0
+	for _, pattern := range patternArr {
+		if regexp.MustCompile(pattern).MatchString(pwd) {
+			num++
+		}
+	}
+	if len(pwd) < 8 {
+		num = 0
+	}
+	return num >= 3
+}
+
 func GetMonthStartAndEnd(myYear string, myMonth string) (startDate, endDate string) {
 	// 数字月份必须前置补零
 	if len(myMonth) == 1 {