У меня есть Контроль доступа, основанный на правилах и разрешениях, что означает, что у каждой группы есть разрешения на доступ к некоторым контроллерам, и пользователи являются частью этих групп. (Это реализовано в платформе CakePHP).
Но эта структура позволяет мне знать, что пользователь имеет право «использовать», например, получать доступ к отчетам или добавлять новых пользователей, но мне было интересно, каковы лучшие шаблоны проектирования или лучшие практики, которые я мог бы использовать для реализации видимости данных в некоторых из этих групп. Например, члены группы «Обычный пользователь» могут видеть только свои собственные данные (data.user_id = this.user_id), но член «Супервизоры» должен видеть больше данных (data.user_id = this.supervisor_user_id) и «Босс» участники должны видеть все.
Надеюсь, я дал понять, что в любом случае используемая модель аутентификации основана на этой модели:
http://www.studiocanaria.com/articles/cakephp_auth_component_users_groups_permissions_revisited