Já existem muitas implementações de RBAC (controle de acesso baseado em função). Sugiro usar um desses em vez de criar o seu próprio:
- http://phpmaster.com/role-based-access -control-in-php/
- http://www.tonymarston.net/ php-mysql/role-based-access-control.html
- Controle de acesso baseado em função