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