Yii2注册后自动登录

时间:2015-12-04 13:49:21

标签: php login yii2

如何在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,
        ]);
    }
}  

如果注册成功,我想自动登录而不是登录网站。

2 个答案:

答案 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
}