Русскоязычный форум, посвященный фреймворку Kohana http://forum.kohanaframework.su/ |
|
И снова роуты http://forum.kohanaframework.su/viewtopic.php?f=31&t=429 |
Страница 1 из 1 |
Автор: | nixon [ 31 окт 2012, 16:55 ] |
Заголовок сообщения: | И снова роуты |
Никак не могу понять - есть роут Код:
Задача - надо чтобы адреса вида admin/ - по умолчанию исполняли экшены из контроллера page, но если вдруг появится адрес с указанием контроллера, то из соответствующего контроллера |
Автор: | nixon [ 31 окт 2012, 17:01 ] |
Заголовок сообщения: | Re: И снова роуты |
вообще собственно зачем так надо? Хочу чтобы при входе в админку адрес был admin но(!) если допустим заходит юзер и у него роли админ и логин то ему подсовываем один экшн, а если заходит юзер с ролями админ, логин, рут, то ему подсовываем другой экшн с другим интерфейсом. Зачем так? Чтобы админка была единой по адресу /admin и спокойно можно было переадресовывать на этот адрес после авторизации, а не каждый раз редиректить на нужный роут. Можно просто выделить по контроллеру на каждую группу пользователей, но опять же каждый раз дописывать редирект, если какая группа добавится, а так роут один, контроллер админки один, а экшены для пользователей разные Разграничение на роли уже есть, а вот с роутами для этого дела беда |
Автор: | Zorato [ 31 окт 2012, 23:40 ] |
Заголовок сообщения: | Re: И снова роуты |
Как-то очень сумбурно у вас проблема описана. Сходу могу предложить такой вариант: в методе before определять права пользователя и отправлять(редиректить) на нужный экшн. |
Автор: | nixon [ 01 ноя 2012, 12:43 ] |
Заголовок сообщения: | Re: И снова роуты |
неее, слишком много редиректов плодиться будет если экшенов много становится, проблему решил таким путем - 1) описываю роли пользователей, 2) беру последнюю роль пользователя(тут будет так на 1х местах роли с меньшими правами, чем больше индекс тем больше прав у роли) 3) Загружаю экшен с названием роли. 4) в секьюрити экшен поочередно добавляю экшены и права для них В итоге всего 2 действия - создать экшен, создать запись в массиве секур_экшен Думаю код всё скажет сам Код:
ну и дальше например 1) создаем экшен для менеджера Код:
2) в секур экшн делаем Код:
Знаю знаю, с добавлениемролей надо будет контроллировать массив секур экшен, думаю если уж совсем упрощать то в метод before создать массив секур акшен и обединять массивы, добавляя к последнему элементу, но ролей вроде не очень много будет и прыгать часто не будут, так что как сейчас устраивает P.S. Буду рад критике кода |
Страница 1 из 1 | Часовой пояс: UTC + 4 часа [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |