In mijn CMS heb ik inmiddels een handig systeem ontwikkeld voor het werken met permissies e.d. volgens het RBAC systeem.
Nu wil ik één gebruiker in mijn systeem hebben, met root priviléges. Deze gebruiker staat (vanzelfsprekend) boven alle ingestelde restricties. Ik vraag me nu alleen af, hoe ik gestalte moet geven aan deze superuser. Een aantal van de opties die ik heb overwogen:
Dat er maar flink gediscussieerd moge worden!
Nu wil ik één gebruiker in mijn systeem hebben, met root priviléges. Deze gebruiker staat (vanzelfsprekend) boven alle ingestelde restricties. Ik vraag me nu alleen af, hoe ik gestalte moet geven aan deze superuser. Een aantal van de opties die ik heb overwogen:
- In de db table met rollen komt een extra veld "is_root" o.i.d. Zodra dit veld een 1 heeft, zijn alle gebruikers met deze rol superuser. In iedere functie die met permissies werkt, wordt gekeken of de huidige gebruiker superuser is. Als dat het geval is, krijgt deze gebruiker alle rechten, ongeacht eventueel ingestelde restricties. Voor de rol waarvoor "is_root" op 1 staat, zijn geen instellingen te maken m.b.t. permissies/rechten.
- De superuser krijgt geen rol en komt nergens naar boven in de verschillende schermen voor het instellen van gebruikers. Hij wordt als het ware "hard-coded" in de verschillende functies aangegeven als superuser (op basis van gebruikersnaam of userID).
- De rol "superusers" krijgt door overerving alle permissies op alle objecten automatisch toegevoegd in de database op het moment dat de database wordt aangemaakt en deze zijn door niemand te wijzigen. Omdat de permissies/rechten worden toegewezen volgens het standaard rechten-model, zijn er geen aanpassingen nodig in de verschillende functies die met permissies werken. Nadeel is eventueel dat - wanneer er onverhoopt iets fout gaat in de database - de superuser geen toegang meer heeft tot de verschillende onderdelen.
Dat er maar flink gediscussieerd moge worden!