2010-09-20 5 views
2

У меня есть контроль доступа на основе правил и разрешений, что означает, что у каждой группы есть разрешения на доступ к некоторым контроллерам, и пользователи являются частью этих групп. (Это реализовано в рамках CakePHP).Контроль доступа пользователей и видимость данных

Но эта структура позволяет мне узнать, что пользователь имеет право «использовать», получать доступ к отчетам или добавлять новых пользователей, но мне было интересно, какие лучшие шаблоны дизайна или лучшие практики, которые я мог бы использовать для реализации видимости данных в некоторые из этих групп. Например, член группы «Обычный пользователь» может видеть только свои собственные данные (data.user_id = this.user_id), но член «Супервизоров» должен видеть больше данных (data.user_id = this.supervisor_user_id) и «The Boss», члены должны видеть все.

Я надеюсь, что я ясно, во всяком случае модель аутентификации Я использую на основе этой модели:

http://www.studiocanaria.com/articles/cakephp_auth_component_users_groups_permissions_revisited

ответ

1

Просто добавьте ваши права доступа к before_find(). Вы можете сделать это на основе модели за моделью или создать ее в app_model. Это позволит вам ограничить данные или добавлять/удалять поля, не изменяя контроллер или просматривать файлы.

+1

Я больше смотрю в плане дизайна базы данных и что-то более конкретное, как вставлять такие «права видимости» на сами данные –