Как организовать функционал управления доступами к функция проекта?
Нужно у проекта организовать систему выдачи доступов(СКУД).
На чтение, изменение, удаление.
И к самому функционалу, разным пользователям выдавать такие доступы.
К примеру есть два элемента на странице АБС.
Нужно одному пользователю выдать права на объект А - просмотр, на объект Б - редактирование, а на С - все права.
А второму пользователю выдать на объект А - редактирование, на Б - все права, на С - ничего.
Во-первых, давно попадалась статья на хабре, как это можно организовать, но было давно не могу найти.
Во-вторых, меня пугает такая гибкость, что со временем это может превратиться в хаос.
Так же знаю, что в некоторых движках используются группы, им выдают числовые права, чем выше, тем больше приоритета, но из-за того, что есть большая гибкость, такой подход не подходит.
Было бы здорово, найти практики по реализации такой задачи.
В ASP.Net есть управление доступом на основе политик безопасности(Policy Based Authorization).
В политике описываются правила доступа к ресурсу(объекту, странице, контроллеру и тд). Сами правила в свою очередь могут состоять из абсолютно любых условий(роль, id, лунная фаза…)
Если я правильно понял Вашу задачу, то нужен примерно такой же механизм. Можете поискать подобные решения для php.