我有功能登錄其成功的功能控制去dashboard/index
,假設用戶輸入leads/index
由於訪問規則定義頁面回來登錄,我只想在成功後登錄登錄控制轉到最後輸入的網址即leads/index
。返回最後一個網址在YII成功登錄後輸入
感謝您的幫助。
我有功能登錄其成功的功能控制去dashboard/index
,假設用戶輸入leads/index
由於訪問規則定義頁面回來登錄,我只想在成功後登錄登錄控制轉到最後輸入的網址即leads/index
。返回最後一個網址在YII成功登錄後輸入
感謝您的幫助。
... Controller extends CController(){
...
public function init() {
if($this->isValidForRedirectRequest(Yii::app()->request)){
Yii::app()->user->returnUrl = Yii::app()->request->requestUri;
}
}
...
public function isValidForRedirectRequest(){
/*something validations of request, like isAjax or other */
}
}...
... LoginController()...{
if($authIdentity->authenticate()) $this->redirect(Yii::app()->user->returnUrl);
...
}
這行代碼適合我。感謝您的幫助。 $ this-> redirect(Yii :: app() - > user-> returnUrl); – 2013-04-22 12:24:48
我很抱歉,但這不是它應該如何完成的。您只需要將'Yii :: app() - > user-> loginRequired()'添加到需要登錄(或使用訪問規則)的操作中。 Yii爲你休息。無需手動轉向重定向! – 2013-04-22 14:19:17
我認爲這將工作:
Yii::app()->user->setReturnUrl("Your url");
再使用,
$this->redirect(Yii::app()->user->returnUrl);
重定向。
或者你也可以藉助會話。
之前登錄設置
Yii::app()->session['beforelogin'] = Yii::app()->request->requestUri;`
剛剛登錄檢查後重定向
if(isset(Yii::app()->session['beforelogin'])) {
$this->redirect(Yii::app()->session['beforelogin']);
}
謝謝,它正在工作... – ersks 2017-03-07 03:54:07
我想對於這個問題最簡單的答案是這樣的代碼之前:
$this->redirect(Yii::app()->request->urlReferrer);
使用這就是它的代碼。
對於Yii2。 在功能actionLogin控制器()使用此:
if (Yii::$app->user->getReturnUrl() == '/') {
return $this->redirect('dashboard/index');
} else {
return $this->redirect(Yii::$app->user->getReturnUrl());
}
它會檢查,如果登錄時從主頁來(getReturnUrl()==「/」 ),然後登錄後,你會重定向到儀表板/索引頁面。否則,它將重定向到請求的頁面。
這是更好地控制由會話的行爲(例如分頁,...),但是,
return $this->goBack();
會工作。
當您註銷用戶檢查訪問規則。傳遞查詢字符串中的當前網址。如果他們成功登錄,只需重新導入即可。 – Rikesh 2013-04-22 12:05:34