yii2中的电子邮件/密码登录

时间:2018-07-10 23:00:28

标签: yii2

是否可以通过电子邮件/密码而不是用户名/密码使用yii2登录名和rbac?我的自定义wo_user表不包含用户名字段,而是包含wo_email和wo_password。

1 个答案:

答案 0 :(得分:1)

1)用户模型中添加 findByEmail()功能

public static function findByEmail($email){
    return static::find()->where(['wo_email' => $email, 'status' => self::STATUS_ACTIVE])->one();
}

2)更改 LoginForm 模型中的 rules() getUser()功能

public function rules()
    {
        return [
            [['wo_email', 'wo_password'], 'required'],
            ['rememberMe', 'boolean'],
            ['wo_password', 'validatePassword'],
        ];
    }

protected function getUser()
    {
        if ($this->_user === null) {
            $this->_user = User::findByEmail($this->wo_email);
        }
        return $this->_user;
    }
相关问题