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