【发布时间】:2013-02-01 08:19:51
【问题描述】:
我有一个用户编辑视图。当人们访问此视图时,它的密码块中有散列密码。
如果您点击保存,它(显然)会再次对密码进行哈希处理,因为这在我的用户模型中。
public function beforeSave($options = array()) {
if(!empty($this->data['User']['password'])) {
$this->data['User']['password'] = AuthComponent::password($this->data['User']['password']);
}
return true;
}
但我不想让它散列两次(因为这意味着密码已更改)。我更改了编辑视图并将array('value' => '','autocomplete'=>'off') 添加到密码字段中。现在当我保存它时,它会在数据库中保存一个空白字符串。我认为它会阻止它使用beforeSave 函数中的if(!empty($this->data['User']['password'])) 语句来执行此操作。
如何防止密码被双重哈希?
【问题讨论】:
标签: php authentication cakephp-2.0