我在Yii2高级模板中有一个代码,在这里我想为用户的前端和管理员的后端创建一个登录页面。一旦我从前端登录,那么,如果那是一个管理员,那么我想用该登录重定向到后端主页,而不是登录前端,如果那是用户,那么我想在前端主页重定向。
这里我的问题是我已经重定向到后端索引页面的管理员用户,但我需要在后端再次登录。此外,如果我使用前端管理员仍然保留帐户。
我在前端的siteController.php:
public function actionLogin()
{
if (!Yii::$app->user->isGuest) {
return $this->goHome();
}
$model = new LoginForm();
if ($model->load(Yii::$app->request->post())){
$userDetails = User::findByUsername($model->username);
if($userDetails->username == 'admin' && $model->login()) {
return $this->redirect('http://localhost/yiiadvanced/backend/web/index.php');
} else {
$model->login();
return $this->redirect(array('/site/custom'));
}
} else {
$model->password = '';
return $this->render('login', [
'model' => $model,
]);
}
}
管理数据和用户数据位于同一个表中。
请任何人,为这个问题提供解决方案,
提前致谢。
“需要在后端再次登录”,为了区分前端和后端用户,您可以在前端和后端之间使用不同名称更改配置中的会话名称
'session' => [
// this is the name of the session cookie used for login on the backend
'name' => 'advanced-frontend',
],