ACL

1.69K
.
╭∩╮ (`-`) ╭∩╮

А вообще, хороший 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