如何在yii2注册后实现自动登录?在yii1中,我们通过用户身份实现了这一点,但现在我无法找到它。
MY控制器
public function actionCreate()
{
$model = new User();
if ($model->load(Yii::$app->request->post()) && $model->save()) {
Yii::$app->session->setFlash('success', 'Please Login with Email/Password!');
return $this->redirect('../site/login');
} else {
return $this->render('create', [
'model' => $model,
]);
}
}
如果注册成功,我想自动登录而不是登录网站。
答案 0 :(得分:4)
if ($model->load(Yii::$app->request->post()) && $model->save()) {
\Yii::$app->user->login($model);
return $this->redirect(['/site/index']);
}
答案 1 :(得分:2)
您可以使用switchIdentity()方法完成此操作。
示例:
if ($userModel->load(Yii::$app->request->post()) && $userModel->save()) {
Yii::$app->user->switchIdentity($userModel); // log in
// do your stuff
}