Php 用户类型登录系统Yii 2.0

Php 用户类型登录系统Yii 2.0,php,yii2,Php,Yii2,我在从模型用户获取属性时遇到问题。简单地说,代码应该获得用户的类型,无论是管理员还是普通用户,然后每个用户都重定向到自己的控制器。 控制器上的代码: public function actionIndex() { if (Yii::$app->user->isGuest) { return $this->render('index'); } else { // Administrator

我在从模型用户获取属性时遇到问题。简单地说,代码应该获得用户的类型,无论是管理员还是普通用户,然后每个用户都重定向到自己的控制器。 控制器上的代码:

public function actionIndex()
    {

     if (Yii::$app->user->isGuest) {
           return $this->render('index');
        } else {
            // Administrator
            if (Yii::$app->session->get('user.type') == 1) {
              return  $this->redirect('admin');
                //user
             Yii::$app->session->get('user.type') == 2) {
                return $this->redirect('normal-user');
                }
             else {
                  Yii::$app->user->logout();
                        return $this->refresh();
            }
        }
}

此类型来自我的数据库表,它只有两个值“1”或“2”。当我检查这个时,它得到了“0”,我不知道如何。所以它总是注销()任何建议可能都不会被我考虑

登录用户后,您是否在会话中注册user.type?为什么要这样做?我想从数据库表中获取它确定谢谢您使用此选项解决了问题:Yii::$app->user->identity->type您最好将该部分保留在会话中。您当然可以这样做,但我相信每次您应该用自己的标识类覆盖标识类并将其保留在会话中时,它都会向DB请求该值。