我想添加一些東西到登錄視圖在yii,但我只想這樣做,如果用戶通過嘗試訪問其他控制器/操作被重定向到該頁面。 有沒有辦法知道用戶是直接重定向還是訪問登錄鏈接?yii檢查用戶是否被重定向到登錄頁面
0
A
回答
0
@Pedro薩爾加多,
我在這裏談論Yii2, 所以首先你必須設置在組件陣列配置文件,
'user' => [
'identityClass' => 'common\models\Users',
'enableAutoLogin' => true,
'loginUrl' => ['site/login-page'],
],
根據您的設置,
做以下在您要進行身份驗證的控制器操作中,
public function actionDetails()
{
if (Yii::$app->user->isGuest)
{
return $this->redirect(['site/login']);
}
}
希望它能幫助你。
+0
嗨Sanhay,謝謝你的回答,但那不是我所需要的。讓我以一個例子來嘗試這個。 我有控制器/行動帳戶/儀表板,當我去這個網址(沒有被認證),我被自動重定向到帳戶/登錄。這是因爲我知道帳戶控制器上的accessRules功能。 我需要知道的是,用戶如何進入帳戶/登錄視圖,如果是通過轉到帳戶/儀表板或直接訪問帳戶/登錄 –
0
聽起來你已經設置了RequireLogin
或類似的東西,所以我假設你已經這麼做了。
在你RequireLogin
類,你可能有類似這樣的東西...
if(Yii::app()->user->isGuest && !in_array($_SERVER['REQUEST_URI'], $allowedSites)){
Yii::app()->user->loginRequired();
}
前loginRequired()
右側添加Yii::app()->user->setFlash('redirected', true);
然後,在你登錄視圖...
<?php if(Yii::app()->user->hasFlash('redirected'): ?>
<!-- stuff added here will only show up if redirected -->
<?php endif; ?>
相關問題
- 1. MODx :: WebLogin snippet ::檢查是否登錄,重定向到頁面x
- 2. 如何檢測用戶是否登錄重定向到特定頁面javascript
- 3. phpbb檢查用戶是否登錄到自定義php頁面
- 4. 登錄後用戶被重定向到錯誤頁面
- 5. 用戶登錄後頁面重定向
- 6. 重定向用戶登錄頁面
- 7. Django - 檢查用戶是否已被重定向到當前頁面
- 8. 當用戶未登錄時重定向到登錄頁面(asp)
- 9. TYPO3 - 用戶未登錄時重定向到登錄頁面
- 10. Active Admin成功登錄重定向到用戶登錄頁面
- 11. 已經登錄後被重定向到登錄頁面
- 12. 重定向到登錄頁面而不是Yii的索引頁面
- 13. SpringSecurity:總是將登錄用戶重定向到一個頁面
- 14. 即使用戶登錄頁面預覽重定向到登錄頁面
- 15. 頁面重定向到登錄頁
- 16. 將用戶重定向到登錄頁面註冊後(登記)
- 17. Yii $ loginUrl ='/'問題(不重定向到登錄頁面)
- 18. 檢查登錄然後重定向到另一個頁面
- 19. 檢索重定向到python中的登錄頁面的頁面
- 20. 登錄重定向到指定頁面
- 21. 登錄頁面重定向
- 22. 檢查用戶是否登錄到Facebook
- 23. 檢查用戶是否登錄到Skype
- 24. 將用戶重定向到帳戶頁面(如果已登錄)
- 25. 如何在用戶未登錄時將用戶重定向到登錄頁面
- 26. 如何檢查用戶是否已登錄,是否不重定向到登錄屏幕
- 27. 檢測asp.net重定向用戶登錄頁面
- 28. 當用戶已登錄時,從CAS登錄頁面重定向
- 29. 當用戶未登錄時在登錄頁面上重定向
- 30. Laravel 4重定向登錄用戶到特定頁面
請澄清你的問題,所以我們可以給你一個容易的建議。 –
因此,如果在我的網站中,如果我轉到需要驗證才能繼續的視圖,我將被重定向到登錄視圖。或者,我可以直接訪問登錄視圖,方法是輸入url或點擊登錄鏈接。 有沒有辦法知道我是直接進入登錄視圖還是重定向? –