diff --git a/Sense/server/app/sense/identity/password.go b/Sense/server/app/sense/identity/password.go index d8bfe44..bc422ec 100644 --- a/Sense/server/app/sense/identity/password.go +++ b/Sense/server/app/sense/identity/password.go @@ -2,28 +2,14 @@ package identity import ( "fmt" - "strings" - "unicode" "golang.org/x/crypto/bcrypt" ) -func ValidatePassword(username, password string) error { +func ValidatePassword(_ string, password string) error { if len([]rune(password)) < 6 { return fmt.Errorf("密码至少需要 6 个字符") } - var upper, lower, digit bool - for _, value := range password { - upper = upper || unicode.IsUpper(value) - lower = lower || unicode.IsLower(value) - digit = digit || unicode.IsDigit(value) - } - if !upper || !lower || !digit { - return fmt.Errorf("密码必须同时包含大写字母、小写字母和数字") - } - if username != "" && strings.Contains(strings.ToLower(password), strings.ToLower(username)) { - return fmt.Errorf("密码不能包含用户名") - } return nil } diff --git a/Sense/server/app/sense/identity/password_test.go b/Sense/server/app/sense/identity/password_test.go index a090d10..0308d36 100644 --- a/Sense/server/app/sense/identity/password_test.go +++ b/Sense/server/app/sense/identity/password_test.go @@ -12,12 +12,10 @@ func TestValidatePasswordLengthAndComplexity(t *testing.T) { password string want string }{ - {name: "six characters", username: "operator", password: "Abc123"}, + {name: "six lowercase characters", username: "operator", password: "abcdef"}, + {name: "contains username", username: "admin", password: "admin123"}, + {name: "six unicode characters", username: "operator", password: "密码密码密码"}, {name: "five characters", username: "operator", password: "Ab123", want: "至少需要 6 个字符"}, - {name: "missing uppercase", username: "operator", password: "abc123", want: "大写字母、小写字母和数字"}, - {name: "missing lowercase", username: "operator", password: "ABC123", want: "大写字母、小写字母和数字"}, - {name: "missing digit", username: "operator", password: "Abcdef", want: "大写字母、小写字母和数字"}, - {name: "contains username", username: "admin", password: "MyAdmin1", want: "不能包含用户名"}, } for _, test := range tests { diff --git a/Sense/ui/src/views/sense/identity/Users.vue b/Sense/ui/src/views/sense/identity/Users.vue index 139f660..92b39bf 100644 --- a/Sense/ui/src/views/sense/identity/Users.vue +++ b/Sense/ui/src/views/sense/identity/Users.vue @@ -30,7 +30,7 @@ - 至少 6 位,包含大小写字母和数字,且不含用户名。 + 至少 6 位字符。 取消保存