我不确定如何在使用 yii 框架创建后立即登录用户。

在 UserController 中,我创建了 actionRegister 以允许用户创建新帐户,如果用户成功保存到 db,我也想为该用户执行登录。这是我的代码:

    public function actionRegister()
    {
        $model=new User;

        if(isset($_POST['User']))
        {
            $model->attributes=$_POST['User'];

            if($model->save()){

                $identity=new UserIdentity($model->email,$model->password);
                $identity->authenticate();
                Yii::app()->user->login($identity);

                $this->redirect(array('view','id'=>$model->id));
            }
        }
        $this->render('register',array('model'=>$model));
    }

在此先感谢您为我提供的任何帮助。

最佳答案

好吧,好像我在回答我自己的问题......

事实证明,$this->redirect(array('view','id'=>$model->id)); 出于某种晦涩的原因没有让登录发生......自从我昨天开始学习 yii 以来,我无法回答这个问题,但如果有知识的人能证明这一点,我将不胜感激。

所以解决方案只是删除重定向,我们在创建帐户后立即获得一个用户登录用户。

感谢您尝试帮助约翰和杰伊 =)

关于php - 在yii中注册后如何登录用户,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8215918/

10-16 13:42