Никита К.
1594 сообщения
#15 лет назад
Сделали модуль авторизации.
После авторизации любой пользователь, введя в адресную строку попадает в админку сайта. (с ограниченным доступом, но всё же...)

Как правильно заюзать ACL, чтобы пресечь это?
А то я в Zend вообще не шарю, друг попросил помочь просто.

Заранее спасибо
Никита К.
1594 сообщения
#15 лет назад
Просто мне вообще непонятно (прочитал всю документацию по acl, но непонял) где надо правила вообще размещать?

Если разместить правила для групп, то, получается в модуле /admin/auth.php надо будет просто добавить условие if(isAllowed....)

А вот где "раскидать" привелегии непонятно
Максим В.
731 сообщение
#15 лет назад
Я делал потомка от Zend_Controller типа Admin и в preDispatch делал необходимые действия. Все админские страницы наследуются от Admin. Может есть более быстрее варианты.
Роман В.
99 сообщений
#15 лет назад
Переопределять контроллеры идея очень плохая, как по мне, можно потом грабли ловить много и больно.
Вижу еще два варианта:

  • Экшн хелпер, который будем дергать в контроллере для проверки, можно ли юзеру сюда или нет, плагин, естественно смотрит в АЦЛ.
  • Плагин для фронтконтроллера, который будет следить за тем, куда пользователь ломится и глядя в АЦЛ принимает решения пускать или не пускать, контроллер даже не будет знать об этой проверке, это собственно и удобно.

Второй вариант считаю самым удобным и гибким.

Про плагины почитать можно тут:
Никита К.
1594 сообщения
#15 лет назад
Вопрос, а где вообще определять правила ACL надо?
Роман В.
99 сообщений
#15 лет назад
Где удобно, если совесть позволяет - можно захардкодить в плагине. Собственно в большинстве статей по ACL так и делается для простоты.
Ававав А.
85 сообщений
#15 лет назад
Цитата ("Anexroid"):
Вопрос, а где вообще определять правила ACL надо?

Лучше в отдельном классе и сложить все в папку system, если такая есть.