我正在使用Symfony开发一个新的应用程序。我想存储密码哈希,所以我在我的用户模型中覆盖了save方法:
public function save(Doctrine_Connection $conn = null)
{
$this->setUserPassword( md5($this->getUserPassword()) );
return parent::save($conn);
}
创建新用户时效果很好。但是,当我们在不更改密码的情况下编辑用户时会出现问题。这会导致Doctrine散列已经散列的密码。
因此,我需要检查是否在此DoctrineRecord实例中修改了UserPassword。我怎么能设法做到这一点?
答案 0 :(得分:8)
解决方案: 我们只需覆盖setter方法:
public function setUserPassword($password)
{
return $this->_set('user_password', md5($password));
}