簡體   English   中英

yii檢查用戶是否已重定向到登錄頁面

[英]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.

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