[英]yii check if user was redirected to login page
我正在嘗試在yii中向登錄視圖添加一些內容,但是我只想在通過嘗試訪問其他控制器/操作將用戶重定向到該頁面的情況下執行此操作。 有沒有辦法知道用戶是否被重定向或直接訪問登錄鏈接?
@Pedro Salgado,
在這里我談論的是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']);
}
}
希望對您有幫助。
聽起來您已經設置了RequireLogin
或類似的東西,所以我假設您已經完成了。
在RequireLogin
類中,您可能有類似的東西...
if(Yii::app()->user->isGuest && !in_array($_SERVER['REQUEST_URI'], $allowedSites)){
Yii::app()->user->loginRequired();
}
添加Yii::app()->user->setFlash('redirected', true);
就在loginRequired()
之前
然后,在您的登錄視圖中...
<?php if(Yii::app()->user->hasFlash('redirected'): ?>
<!-- stuff added here will only show up if redirected -->
<?php endif; ?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.