Yii2高级模板从前端登录,并通过登录重定向到后端主页

问题描述 投票:1回答:1

我在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,
        ]);
    }
}

管理数据和用户数据位于同一个表中。

请任何人,为这个问题提供解决方案,

提前致谢。

yii2 yii2-advanced-app
1个回答
0
投票

“需要在后端再次登录”,为了区分前端和后端用户,您可以在前端和后端之间使用不同名称更改配置中的会话名称

'session' => [
   // this is the name of the session cookie used for login on the backend
   'name' => 'advanced-frontend',
 ],
© www.soinside.com 2019 - 2024. All rights reserved.