Проверяйте пароли с помощью CakePHP 1.3 - PullRequest
1 голос
/ 01 июля 2010

Как запустить проверку достоверности для поля пароля в CakePHP, убедившись, что пароль хешируется, прежде чем я получу возможность выполнить какие-либо проверки на нем?

Ответы [ 2 ]

3 голосов
/ 01 июля 2010

Если в вашей форме есть только одно поле password, вам нужно создать пользовательскую хеш-функцию , которая либо ничего не делает, либо, что лучше, сохраняет где-то оригинальный пароль.

Скорее всего, у вас есть две поля пароля в форме, где пользователь должен подтвердить пароль.В этом случае вы выполняете свои правила проверки пароля во втором поле пароля.Это может автоматически произойти в пользовательском правиле проверки, помните, что у вас есть доступ ко всем другим полям внутри функции проверки через $this->data.Затем вы можете подтвердить, что эти два пароля идентичны , описанному здесь .

0 голосов
/ 01 июля 2010

У меня так работает (в модели):

  public $validate = array(
        'password' => array(
            'minLength' => array(
                'rule' => array('minLength', '8')
            )
         )
    );

Если вы хотите выполнить больше проверок, создайте пользовательский метод проверки в соответствующей модели. В пользовательском методе проверки хэш-пароль выглядит следующим образом: Security::hash($this->data['User']['password'], null, true)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...