繁体   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