Задать вопрос

Как организовать «область видимости» в зависимости от роли пользователя?

Доброго времени суток.

Например, есть несколько ролей: директор, 2 начальника отдела, 4 старших сотрудника(в подчинение по 2 у начальников отделов), 20 сотрудников(в подчинение по 5 у старших сотрудников).
Директор может всё, начальник отдела может добавить/редактировать/просмотреть данные о старшем сотруднике и сотруднике ТОЛЬКО в своем отделе, свои данные только просмотреть, старший сотрудник может просмотреть данные ВСЕХ сотрудников в отделе, НО редактировать и добавлять только подчиненных, удалять не может.

Пока организовал все в лоб, проверяю роли и достаю данные(сотрудников) отдельно для каждой. НО название ролей, количество и подчиненность может меняться.

Подскажите, как организовать "область видимости" в зависимости от роли пользователя и его подчиненных? Есть ли какие то универсальные алгоритмы?

Надеюсь доходчиво объяснил проблему. Заранее, спасибо!

PS. Уже используется модуль Zizaco/entrust, но он только отслеживает разрешения для конкретной роли и действия, но не учитывает "область видимости". Может я как то не так его использую?
  • Вопрос задан
  • 384 просмотра
Подписаться 3 Оценить Комментировать
Ответ пользователя Muhammad К ответам на вопрос (3)
muhammad_97
@muhammad_97
PHP-разработчик
Ответ написан
Комментировать