Как вы уже указали в своем вопросе "Однако ... документация на торт", Я не мог согласиться с этим.
Я видел многих членов моей команды в прошломБорьба за понимание концепции целого Acl, Aro и Aco, и документация о торте, возможно, добавляет ему дополнительную сложность, чем ее решение.
Настоящая магия ACL начинается с Aro и Aco .
ARO (Access Request Object) - They are the entities who request for services.
for eg. Users, Roles (Admin, Manager, Moderator)
ACO (Access Control Object) - They are the entities which are requested.
for eg. Posts, Posts->add, Posts->view, Posts->edit
Мы можем настроить наши модели с поведением requester таким образом, чтобы при каждом создании новой записи она автоматически синхронизировалась с соответствующим Aro.
Как уже продемонстрировал jeremyharris, вы можете использовать Aro и Aco mapping с соответствующими привилегиями, чтобы ограничить / контролировать контроль доступа вашего приложения.
Кроме того, вы можете сделать свою жизнь довольно легко с помощью ACL с помощью плагина Alaxos ACL Этот плагин действительно упрощает всю настройку ACL, особенно с точки зрения пользовательского интерфейса
Консоль Cake также предоставляет оболочку для инициализации.ze your db для настройки ACL
cake acl initdb // cakephp 1.1, from shell with create db setup for acl
$ cake schema create DbAcl // cakephp 1.2 and above
Существует дополнительный плагин от Markstory под названием AclExtras , который предоставляет вам оболочку для упрощения управления acl, например, создание aco-узлов, тестирование и восстановление.aco, aro деревья.Это удивительный плагин.