frank 3 лет назад
Родитель
Сommit
c7166c0d9d
1 измененных файлов с 14 добавлено и 0 удалено
  1. 14 0
      backendApi/modules/v1/models/AdminForm.php

+ 14 - 0
backendApi/modules/v1/models/AdminForm.php

@@ -133,6 +133,20 @@ class AdminForm extends Model
 
         // 给密码进行加密 ,如果需要添加验证密码安全验证时 ,可以在这个地方加
         if($this->password){
+            if ($this->scenario == 'changePassword' || $this->scenario == 'noLoginModifyPassword'){
+                if (strlen($this->password) < 8){
+                    $this->addError($this->scenario, '登录密码不能小于8位');
+                    return null;
+                }
+//               $symbol = '!#$%^&*';
+               $symbol = '`~!@#$^&*()=|{}\'\":;\',\\[\\].<>\/?~!@#¥……&*()——|{}【】‘;:”。,、?';
+               $passwordRules = '/^(?![\d]+$)(?![a-z]+$)(?![A-Z]+$)(?!['.$symbol.']+$)[\da-zA-z'.$symbol.']{8,}$/';
+               $verificationResults = preg_match($passwordRules,$this->password);
+               if (!$verificationResults){
+                   $this->addError($this->scenario, '登录密码中需要包含数字、大写字母、小写字母、特殊字符至少两种');
+                   return null;
+               }
+            }
             $model->PASSWORD_HASH = \Yii::$app->security->generatePasswordHash($this->password);
         }