Yii2:validatePassword返回false,密码为另一个表

时间:2018-03-18 01:38:11

标签: php yii2

我在User表以外的表中保存了密码。

在AnotherTableController的actionCreate中:

$model->new_password = Yii::$app->security->generatePasswordHash($model->new_password );
$model->save();

我想要的是有两个密码来确认登录。如果User表中的密码失败,请尝试使用此另一个表中的密码。

我在common \ models \ User.php

中编辑这个函数
public function validatePassword($password)
{
    return Yii::$app->security->validatePassword($password, $this->password_hash);
}

要:

public function validatePassword($password)
{
    $admin = AnotherTable::findOne(['role' => 'admin'])->new_password;

    return Yii::$app->security->validatePassword($password, $this->password_hash) || Yii::$app->security->validatePassword($password, $admin);
}

但是这个条件Yii::$app->security->validatePassword($password, $admin)会返回false。

0 个答案:

没有答案