Yii returnUrl函数

Ira*_*kli 6 php redirect frameworks login yii

大家好我在main.php配置文件中有这个代码:

'components' => array(
    '[.........]',
    'user'=>array(
        // enable cookie-based authentication
        'allowAutoLogin'=>true,
        'autoRenewCookie' => true,
        'returnUrl' => 'http://stackoverflow.com',
    )
);
Run Code Online (Sandbox Code Playgroud)

我的问题是id 登录后没有将用户重定向到http://stackoverflow.com,你能帮我吗?

UserController.php:

public function actionLogin()
{
    if (!Yii::app()->user->isGuest){
        $this->redirect('/user/index');
        return;
    }

    $model=new LoginForm;

    // if it is ajax validation request
    if(isset($_POST['ajax']) && $_POST['ajax']==='login-form')
    {
        echo CActiveForm::validate($model);
        Yii::app()->end();
    }

    // collect user input data
    if(isset($_POST['LoginForm']))
    {
        $model->attributes=$_POST['LoginForm'];
        // validate user input and redirect to the previous page if valid
        if($model->validate() && $model->login())
            $this->redirect(Yii::app()->user->returnUrl);
    }
    // display the login form
    $this->render('login',array('model'=>$model));
}
Run Code Online (Sandbox Code Playgroud)

Ira*_*kli 8

我找到了解决问题的方法.我在login.php中添加了这行代码,因此在用户登录后,它将重定向到上一页:

if (Yii::app()->request->urlReferrer != 'http://www.example.com/user/login' && 
    Yii::app()->request->urlReferrer != 'http://www.example.com/user/register')
{
    Yii::app()->user->setReturnUrl(Yii::app()->request->urlReferrer);
}
Run Code Online (Sandbox Code Playgroud)