Вопрос по Zend Framework
1594 повідомлення
#15 років тому
Сделали модуль авторизации.После авторизации любой пользователь, введя в адресную строку посилання попадает в админку сайта. (с ограниченным доступом, но всё же...)
Как правильно заюзать ACL, чтобы пресечь это?
А то я в Zend вообще не шарю, друг попросил помочь просто.
Заранее спасибо
1594 повідомлення
#15 років тому
Просто мне вообще непонятно (прочитал всю документацию по acl, но непонял) где надо правила вообще размещать?Если разместить правила для групп, то, получается в модуле /admin/auth.php надо будет просто добавить условие if(isAllowed....)
А вот где "раскидать" привелегии непонятно
731 повідомлення
#15 років тому
Я делал потомка от Zend_Controller типа Admin и в preDispatch делал необходимые действия. Все админские страницы наследуются от Admin. Может есть более быстрее варианты.
99 повідомлень
#15 років тому
Переопределять контроллеры идея очень плохая, как по мне, можно потом грабли ловить много и больно. Вижу еще два варианта:
- Экшн хелпер, который будем дергать в контроллере для проверки, можно ли юзеру сюда или нет, плагин, естественно смотрит в АЦЛ.
- Плагин для фронтконтроллера, который будет следить за тем, куда пользователь ломится и глядя в АЦЛ принимает решения пускать или не пускать, контроллер даже не будет знать об этой проверке, это собственно и удобно.
Второй вариант считаю самым удобным и гибким.
Про плагины почитать можно тут: посилання
99 повідомлень
#15 років тому
Где удобно, если совесть позволяет - можно захардкодить в плагине. Собственно в большинстве статей по ACL так и делается для простоты.
85 повідомлень
#15 років тому
Цитата ("Anexroid"):Вопрос, а где вообще определять правила ACL надо?
Лучше в отдельном классе и сложить все в папку system, если такая есть.