Как настроить разные страницы индекса в зависимости от роли пользователя, вошедшего в систему в yii

Я работаю над одним проектом YII. Я использовал модуль RBAC для управления пользователями. Мои роли пользователя похожи Администратор, SuperAdmin, продажи, Заверенные, Покупатель.

Я хочу перенаправить пользователей в соответствии с их ролями после входа в систему. Например, Admin и Superadmin должны видеть страницу 1 как страницу индекса (действие по умолчанию) после входа в систему, а клиент должен видеть страницу 2 как страницу индекса (действие по умолчанию) после входа в систему. Я установил меню в зависимости от ролей пользователей, то есть какие вкладки меню должны быть видны кому.

Также я знаю о настройке действия по умолчанию в yii. то есть в файле main.php, мы должны установить действие контроллера по умолчанию. Но я не понимаю, как я могу решить эту проблему. Пожалуйста, помогите мне в этом.

Спасибо заранее.

0

Решение

Одной из возможностей будет просто проверить, является ли REQUEST_URI /, и перенаправить ли на соответствующий контроллер и выполнить действие в зависимости от роли.

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'));

}
}

Работает как требуется.

0

По вопросам рекламы [email protected]