yii检查用户是否被重定向到登录页面

时间:2016-05-05 08:53:33

标签: php yii

我正在尝试向登录视图添加内容在yii中,但我只想通过尝试访问其他控制器/操作将用户重定向到该页面来执行此操作。 有没有办法知道用户是重定向还是直接访问登录链接?

2 个答案:

答案 0 :(得分:0)

@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']);
  }
}

希望它会对你有所帮助。

答案 1 :(得分:0)

听起来你已经设置了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; ?>