ACL

955
.
╭∩╮ (`-`) ╭∩╮
А вообще, хороший ACL можно сделать расширенным, чтоб модуль сам говорил системе, если вдруг у него есть какие-то особые привилегии.

К примеру, ВСЕГДА есть общесистемные привилегии: администратор, пользователь, гость.
Они обязательны для любого модуля.
Но к примеру у Форума (или фотогалереи) может быть куча своих особых возможностей и соответственно привилегий. Конечно можно расширить системные привилегии и постараться описать все возможные случаи, но более правильно, если сам модуль будет сообщать системе, если ему нужны дополнительные привилегии.
А когда мы уже создаем группу и наделяем ее привилегиями. тут как раз и всплывут те "особые" от модуля, которые будут действовать только на него.
.
AlkatraZ, не понял, как он будит говорить?
.
╭∩╮ (`-`) ╭∩╮
L!MP (17.09.2012/22:21)
AlkatraZ, не понял, как он будит говорить?
Можно при инсталляции модуля заносить эту информацию в специальную таблицу с ролями.
Или же, держать в конфиге самого модуля в таблице cms_modules, просто добавить туда одно поле, где в сериализованном виде хранить нужные роли.

Но главное избежать путаницы, чтоб случайно роль другого модуля не попала к нашему, посему каждая роль должна иметь свой уникальный идентификатор. Получить его (идентификатор) легко, это module_id => role_id
.
╭∩╮ (`-`) ╭∩╮
Еще надо не забывать, что двиг мультиязычный и каждую роль нужно как то обозвать на разных языках. чтоб потом в админке можно было легко ориентироваться.
.
AlkatraZ, а, ну так это само собой.
Каждый модуль должен тянуть с собой свои роли и правила.
Так же, должно существовать несколько базовых (из коробки) ролей (администратор, модератор, пользователь), что бы было на что опираться при написании модулей.
.
(\/)____o_O____(\/)
L!MP (17.09.2012/21:36)
Koenig, о чём ты читал? Я потерял нить разговора
--
То что тут Screamer описал - это и есть RBACL.
в прошлой подобной теме ссылка, ну ты должен помнить )
.
Koenig, да, помню, там статья о том как работать с RBACL из YII фреймворка.
.
╭∩╮ (`-`) ╭∩╮
L!MP (17.09.2012/22:31)
AlkatraZ, а, ну так это само собой.
Каждый модуль должен тянуть с собой свои роли и правила.
Так же, должно существовать несколько базовых (из коробки) ролей (администратор, модератор, пользователь
Абсолютно верно
базовые (системные) роли нужны обязательно, при написании любого модуля их нужно учитывать и не плодить дополнительных администраторов, юзеров и гостей.
.
AlkatraZ, я просто думал что ты там писал о исключительных ситуациях, таких как, например: фото, его может CRUD`ить не только админ состав, но и хозяин фотографии.
Это в роли не запихнёшь.
.
(\/)____o_O____(\/)
AlkatraZ, то есть стандартные 0 1 2 3, гость, пользователь, модер, админ
прочие можно уже ролями?
Всего: 57