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