如何根据yii中的登录用户角色设置不同的索引页面

时间:2015-05-12 07:06:13

标签: php yii roles rbac

我正在研究一个yii项目。我在其中使用了RBAC模块进行用户管理。我的用户角色类似于管理员 Superadmin 销售经过身份验证客户

我希望在登录后根据用户的角色重定向用户。例如,Admin和Superadmin在登录后应将page1视为索引页(默认操作),客户登录后应将page2视为索引页(默认操作) 。我根据用户角色设置了菜单,即哪些菜单选项卡应该对谁可见。

我也知道在yii中设置默认操作。即在main.php文件中,我们必须设置默认控制器操作。但我不明白我该如何解决这个问题。请帮助我。

提前完成。

2 个答案:

答案 0 :(得分:0)

一种可能性就是检查REQUEST_URI是否为/并根据角色重定向到适当的控制器和操作。

答案 1 :(得分:0)

我通过这样做得到了它: 在我的站点控制器的索引操作中,我提出了以下逻辑..

public function actionIndex()
{

    $getroles=Rights::getAssignedRoles(Yii::app()->user->Id);
                    foreach($getroles as $getrole){

                      $getallroles[] = $getrole->name; 
                    }
                    $count_roles = sizeof(array_intersect(array('admin', 'SuperAdmin', 'Sales'), $getallroles));
                    $count_roles1 = sizeof(array_intersect(array('customer'), $getallroles));


    if($count_roles1){
        $this->redirect(array('CategoryImages/showGallery')); 
    }
    else{
        $this->redirect(array('Category/admin')); 

    }
}

根据需要运作。

相关问题