簡體   English   中英

在Yii框架中登錄后重定向頁面

[英]Redirect page after login in Yii framework

我是Yii框架的新手。 在Yii中,當您默認登錄時,它會重定向到索引頁面。 我希望當我登錄Yii時,頁面將重定向到另一個頁面,而不是索引頁面。 所以任何人都可以幫助我。 任何幫助或建議都將非常值得一提。

[編輯]

當我使用用戶模塊時,重定向將如何工作,因為登錄后頁面被重定向到個人資料頁面?

您可以(實際上,如果要進行任何重定向,必須)指定要重定向到控制器的actionLogin方法內的URL。 成功登錄后,您將看到類似以下代碼:

$this->redirect(Yii::app()->user->returnUrl);

將此更改為CController::redirect方法支持的任何參數,您可以控制用戶在登錄后重定向的位置。

另外,使用Yii::app()->user->returnUrl可以使重定向頁面在重定向到登錄頁面之前將用戶返回到他們打算訪問的URL。

要在登錄后將用戶重定向到頁面,請在gii中為用戶登錄后指向的頁面創建一個新控制器。我將在此處調用此控制器“app”。 Gii會自動為你創建一些文件 - 一個是/protected/models/AppController.php

在AppController.php中,您將擁有一個名為actionIndex的默認公共函數(方法)。 此默認方法的目的是調用(呈現)/protected/views/app/index.php文件(也由gii為您創建)。 index.php是用戶登錄后將看到的文件。這是您要修改以構建應用程序的文件。 返回SiteController.php並在actionLogin()方法中更改redirect()的參數

 if(isset($_POST['LoginForm']))
            {
                    $model->attributes=$_POST['LoginForm'];
                    // validate user input and redirect to the previous page if valid
                    if($model->validate() && $model->login())
                    // since my controller is /protected/controllers/AppController.php
                            $this->redirect(array('app/index'));
            }

這應該讓你開始。 (這基本上是關於yiiframework網站討論的帖子

使用用戶模塊登錄后,您可以重定向到站點/索引。

'modules'=>array(
    // user extension
    'user'=>array(
               ...........
        # page after login
         //'returnUrl' => array('/user/profile'),
        'returnUrl' => array('/site/index'),
                ........
    ),
),
$this->redirect($this->createUrl('yourcontroller/youraction'));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM