在yii2中登录电子邮件/密码
是否可以使用Yi2登录和带有电子邮件/密码而不是用户名/密码的rbac?我的自定义wo_用户表不包含用户名字段,而是包含wo_电子邮件和wo_密码 1)在您的用户模型中添加findByEmail()在yii2中登录电子邮件/密码,yii2,Yii2,是否可以使用Yi2登录和带有电子邮件/密码而不是用户名/密码的rbac?我的自定义wo_用户表不包含用户名字段,而是包含wo_电子邮件和wo_密码 1)在您的用户模型中添加findByEmail() public static function findByEmail($email){ return static::find()->where(['wo_email' => $email, 'status' => self::STATUS_ACTIVE])->one
public static function findByEmail($email){
return static::find()->where(['wo_email' => $email, 'status' => self::STATUS_ACTIVE])->one();
}
2)更改规则()和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;
}
您可能需要在
LoginForm
模型中更新的login()
方法,但在添加您正在使用的相关模型之前,该方法不可能是具体的。谢谢@MuhammadOmerAslam的建议谢谢您的FeR-S,我将尝试此方法。@AhmadZahabi Ok,请让我知道结果。我会注意到程序员我使用下面的代码来显示用户的名字和姓氏:$user=Yii::$app->user->identity->findIdentity(Yii::$app->user->id);echo$user->wo_firstName;并应替换backend/config/main.php中的用户标识类名'user'=>['identityClass'=>'app\models\WoUser',…]