Страница 1 из 1

Разный defaultRoute в зависимости от роли

Добавлено: 2020.01.09, 13:33
azz
Есть несколько ролей, хотелось бы каждой из них назначит свой defaultRoute, по типу

Код: Выделить всё

if ($auth->can('role.admin')) {
    'defaultRoute' => 'admin/index',
}
elseif ($auth->can('role.user')) {
    'defaultRoute' => 'user/index',
}
else {
    'defaultRoute' => 'guest/index',
}
Кроме того хочется что бы и урл правило на главную страницу менялось в зависимости от роли. Т.е. url главной у всех одинаков (/), а контроллер/экшен разный.

Как бы такое сделать?

Re: Разный defaultRoute в зависимости от роли

Добавлено: 2020.01.09, 13:39
yiijeka
Всех перебрасывать в один action, а дальше, в этом action, в зависимости от роли, запускать сервисы, которые у вас в 'admin/index', 'user/index', и 'guest/index'. Или делать в / редирект на нужный URL

Re: Разный defaultRoute в зависимости от роли

Добавлено: 2020.01.09, 13:52
maleks
Можно ж не только из конфига устанавливать значения св-в объекту приложения.
В обработчике события beforeRequest например тоже можно.

Для правил урд манагера аналогично, можно его переопределить и в его init добавить свое динамическое правило