все форумы все темы добавить тему
Разграничение прав в админке
Да в общем-то там вроде бы все предельно просто:
Каждый модуль имеет определенный набор прав.
Возможные права описываются в config.xml модуля.
Права выставляются на связку модуль-группа.
 
Проверяются при помощи функции access($rules), где $rules - название разрешения. Так же можно передать сразу несколько названий, разделенных запятой. Если хотябы одно из них истинно - функция вернет true.
Для суперадмина функция всегда возвращает true в независимости от параметров.
 
У класса LabCMS есть еще удобный метод error403(), перебрасывающий неавторизованного пользователя на страницу авторизации, а для авторизованного выводящий шаблон errors/error403.tpl с текстом об отсутствии прав доступа.
 
Права в группах наследуются. То есть группа находящаяся дальше от корня, по определению, не может иметь прав меньше чем ее родителя. Корнем является группа гостей - самая "бесправная".
 
Вроде бы все...