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