Использование электронной почты вместо имени пользователя в компоненте аутентификации CakePHP - PullRequest
1 голос
/ 01 сентября 2010

Компонент CakePHP Auth требует наличия поля имени пользователя для преобразования поля пароля в хэш при сохранении.Очевидно, что даже если я добавлю следующее в beforeFilter():

$this->Auth->fields = array('username' => 'email', 'password' => 'password');

, он не зашифрует пароль перед его вставкой в ​​базу данных.

Так что мой вопрос, предполагая, что этодолжно произойти, что является лучшим способом для шифрования пароля?Или я где-то допустил простую ошибку?

Заранее благодарен за любую помощь!

Вот фильтр before в users_controller.php:

function beforeFilter() {
    $this->Auth->fields = array('username' => 'email', 'password' => 'password');
}

Иapp_controller.php:

var $components = array('Auth');

1 Ответ

3 голосов
/ 02 сентября 2010

Упс, я также продублировал строку $this->Auth->fields = array('username' => 'email', 'password' => 'password'); в AppController, и, похоже, это вызвало проблему. Извините за это, и спасибо за подсказку для двойной проверки, разместив здесь:)

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