Я работаю над одним проектом YII. Я использовал модуль RBAC для управления пользователями. Мои роли пользователя похожи Администратор, SuperAdmin, продажи, Заверенные, Покупатель.
Я хочу перенаправить пользователей в соответствии с их ролями после входа в систему. Например, Admin и Superadmin должны видеть страницу 1 как страницу индекса (действие по умолчанию) после входа в систему, а клиент должен видеть страницу 2 как страницу индекса (действие по умолчанию) после входа в систему. Я установил меню в зависимости от ролей пользователей, то есть какие вкладки меню должны быть видны кому.
Также я знаю о настройке действия по умолчанию в yii. то есть в файле main.php, мы должны установить действие контроллера по умолчанию. Но я не понимаю, как я могу решить эту проблему. Пожалуйста, помогите мне в этом.
Спасибо заранее.
Одной из возможностей будет просто проверить, является ли REQUEST_URI /, и перенаправить ли на соответствующий контроллер и выполнить действие в зависимости от роли.
Я получил это, сделав это:
В свой индекс действия контроллера сайта я положил следующую логику ..
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'));
}
}
Работает как требуется.