[英]How to redirect registered users to their homepage using yii2
我是前端设计师,说实话,我还是Yii2的新手。
我必须创建两个主页。 一种用于非注册用户,一种用于注册用户。
我可以为未注册用户创建一个主页,该主页位于site/index
。
现在,在将注册用户路由到他们自己的主页方面,我遇到了麻烦。 我已经阅读了yii2文档上的文档,但是对于像我这样的新手来说却很困惑。
如果注册用户登录,我想向他们显示他们自己的主页,该主页位于app/index
。 但这对我不起作用。
这是代码:
public function actionLogin()
{
$this->layout='login-main';
if (!Yii::$app->user->isGuest) {
$this->layout='app-main';
return $this->redirect( array('app/index') );
}
$model = new LoginForm();
if ($model->load(Yii::$app->request->post()) && $model->login()) {
$this->layout='app-main';
return $this->redirect( array('app/index') );
} else {
return $this->render('login', [
'model' => $model,
]);
}
}
当我实现此代码时,会出现此错误。 (请看附件图片)
你能告诉我这是否正确吗? 或其他建议?
谢谢!
创建AppController,这是您应该将登录用户重定向到其私有区域的代码
if (!Yii::$app->user->isGuest) {
return $this->redirect( ['/app'] );
}
并且已登录用户(应用程序控制器)的布局应在应用程序控制器中设置
$this->layout='app-main';
在登录操作中,编写以下代码
if ( !Yii::$app->user->isGuest )
{
return $this->goHome();
}
我的建议是为访客用户创建两个URL别名,为注册用户创建第二个URL,然后您需要检查用户是否为访客的登录操作。 因此,您可以使用url重定向。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.