当您从 ActiveRecord 扩展您的类时,您是否使用过用户数据?我想更新用户时遇到问题。有 PasswordHash 属性。我之前使用函数保存我在创建时散列密码的位置,但我不知道我应该在更新操作中使用它?
public function beforeSave($insert)
{
if (parent::beforeSave($insert)) {
if($this->isNewRecord) {
$this->created_at = time();
$this->status = self::DEFAULT_STATUS;
$this->generateAuthKey();
$this->setPassword($this->PasswordHash);
$this->RulesAccept=1;
return true;
} else {
$this->setPassword($this->PasswordHash);
return true;
}
}
}
当我在输入中更新用户时,我可以看到散列密码处的点缀,但是当我更改密码时,它不会散列此密码。我修改了我的代码,但密码不断被覆盖。我应该如何使用在活动记录中散列的密码输入和密码?
当我需要在 Yii2 中哈希密码时,我使用以下代码:
$password="YOUR PASSWORD";
$hash = Yii::$app->getSecurity()->generatePasswordHash($password);
die($hash);