ユーザー編集ビューがあります。ユーザーがこのビューにアクセスすると、パスワード ブロックにハッシュ化されたパスワードが含まれます。
保存をクリックすると、(明らかに) パスワードが再度ハッシュされます。これは、これが User モデルにあるためです。
public function beforeSave($options = array()) {
if(!empty($this->data['User']['password'])) {
$this->data['User']['password'] = AuthComponent::password($this->data['User']['password']);
}
return true;
}
しかし、2回ハッシュしたくありません(パスワードが変更されたことを意味するため)。編集ビューを変更array('value' => '','autocomplete'=>'off')
し、パスワード フィールドに追加しました。保存すると、空白の文字列がデータベースに保存されます。関数内のif(!empty($this->data['User']['password']))
ステートメントでそれを防ぐと思いました。beforeSave
パスワードが二重にハッシュされないようにするにはどうすればよいですか?