У меня есть приложение с несколькими пользователями с разными ролями.
Доступ каждого пользователя к ресурсу ограничен его ролью.
Теперь, если я создаю приложение для управления этими ресурсами, как мне структурировать свое приложение.
роли: администратор, модератор, автор
ресурсы: статьи
Я вижу два варианта.
1: создание отдельных модулей для каждой роли с предоставлением доступа к ресурсам для роли
например:
админ /
-добавить / редактировать / удалить статью
-добавить / отредактировать / удалить пользователя
автор /
-добавить / редактировать / удалять собственные статьи
Модератор/
статьи
2: Создать отдельные модули для каждого ресурса и предоставить доступ к ним в зависимости от роли пользователя, который к ним обращается.
например:
статьи / добавить / редактировать / удалить [управлять операциями в зависимости от роли пользователя]
Язык - PHP, и я буду использовать Zend Framework. Моя проблема не в правах доступа, поскольку об этом заботится компонент ACL Zend. Моя проблема связана с организацией приложения.
Например, если вводится новый пользователь, в первом случае мне придется создать новый модуль. Но в случае второго метода мне придется обновить каждый модуль.
Очевидно, что первый подход будет включать больше файлов и менее сложную логику
Второй подход потребует более сложной логики, но я просто не уверен, какой из них следовать, и ищу совета. Любая помощь приветствуется.
Спасибо.