Ya hay muchas implementaciones de RBAC (control de acceso basado en roles). Sugiero usar uno de esos en lugar de crear uno propio:
- http://phpmaster.com/role-based-access -control-en-php/
- http://www.tonymarston.net/ php-mysql/control-de-acceso-basado-en-role.html
- Control de acceso basado en roles