Parece que necesitará un control de acceso basado en roles sistema. Desarrollar uno no es realmente una tarea trivial, por lo que, como ya se sugirió, encontrar un marco o una clase lista para usar que haga el trabajo sería un comienzo que valdría la pena.
Sin embargo, hay mucha información sobre cómo crear uno. Aquí hay algunos enlaces para empezar:
Desbordamiento de pila
Control de acceso basado en roles
Acceso basado en roles a páginas en PHP
(enlace muerto)
Otros sitios
Un sistema de control de acceso basado en roles (RBAC) para PHP
Sistema de control de acceso basado en roles (RBAC) detallado
Serie de tutoriales de patrones (parte 1):modelo de dominio RBAC
Una búsqueda de PHP RBAC sin duda revelará muchas más.