Я читал о (ролевом) контроле доступа Списки для предстоящего проекта, и у меня возникли некоторые проблемы с выяснением того, как это будет работать для меня.
В примерах, которые я видел, всегда говорится о разрешении и отказе в доступе к конкретным действиям контроллера/модели. Например: группа "Посетители" может read
размещать сообщения, "Участники" могут read
и edit
, а "Администраторы" - create, read, update, delete
.
Эти вещи кажутся мне слишком глобальными. В моей собственной ситуации (с поправкой на этот пример) будет большое количество групп, каждая из которых может только edit
сообщений, принадлежащих к определенной категории (или какому-то другому критерию).
Единственный способ, который я могу придумать, чтобы заставить его работать на меня, — это создать новый ACO для сообщений для каждой категории:
posts_cat:1
posts_cat:2
posts_cat:3
А затем предоставить доступ к каждому из них по отдельности (что может быть королевским PITA для администраторов, которым нужен доступ ко всем)
Как шаблон ACL охватывает такие ситуации? Есть ли лучшие методы?
Со временем я буду реализовывать это на PHP, используя Cake, поэтому примеры с использованием PHP приветствуются, но не обязательны!