2016-08-17 77 views
1

例如登錄後:
1.用戶正試圖訪問到mypage.php PARAM = 1?
他無法訪問,因爲他沒有通過認證。
3.因此,他試圖登錄他的谷歌帳戶。
他有一個成功的訪問。
5.現在,我想重定向到用戶mypage.php?參數1 =。重定向與YII2

+0

研究了一下它,嘗試對其進行編碼,然後回來,如果你會被卡住。這不是一個「爲我代碼」的服務,你發佈了一些代碼,我們幫助。 –

回答

0

在Yii2中我們需要return()這個action的結果。我想你需要在你的重定向前添加一個return

return $this->redirect('/user/index',302); 
0
//May be this is not proper way but its working for me 

//in your common code where you check user is login or not 
if(Yii::$app->user->isGuest) { 
    \Yii::$app->user->loginUrl = ['site/login','return'=>\Yii::$app->request->url]; 
    return $this->redirect(\Yii::$app->user->loginUrl); 
} 


// and after login 

$return_url = \Yii::$app->request->get('return'); 

if(!empty($return_url)){ 
    return $this->redirect($return_url); 
}else{ 
    return $this->goBack(); 
} 
+0

添加一些解釋並回答此答案如何幫助OP解決當前問題 –

1

變化這樣

你可以使用的Yii :: $ APP->請求 - >引用返回的最後一頁的用戶開始了。

$return_url = Yii::$app->request->referrer;  

//var $return_url have previous url 

if($return_url!=NULLL){  

    return $this->redirect($return_url); 

} 

else{ 

    return $this->goBack(); 

} 
0

Yii支持用戶在被權限規則重定向時重定向url。 你可以在: Yii2::$app->user->returnUrl 和檢查然後重定向,如果它不空。

0

您可以使用

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

代替

return $this->goHome();