Реализация хэша пароля - PullRequest
3 голосов
/ 15 мая 2010

Я разрабатываю новое приложение с использованием Symfony. Я хочу сохранить хэши паролей, поэтому я переопределил метод сохранения в моей модели User:

public function save(Doctrine_Connection $conn = null)
{
    $this->setUserPassword( md5($this->getUserPassword()) );
return parent::save($conn);
}

Это хорошо работает, когда новый пользователь создан. Однако это вызывает проблемы, когда мы редактируем пользователя без изменения его пароля. Это заставляет Doctrine хэшировать уже хешированный пароль.

Итак, мне нужно проверить, изменен ли пароль пользователя в этом экземпляре DoctrineRecord. Как мне это сделать?

1 Ответ

8 голосов
/ 15 мая 2010

Решение: Нам нужно только переопределить метод установки:

public function setUserPassword($password)
{
    return $this->_set('user_password', md5($password));
}
...