Ik ben bezig met het maken van een CMS/ledensysteem voor een vereniging. Aangezien de rechten van de gebruikers onderling verschillend zijn, werk ik met (gebruikers)groepen om de rechten te geven. De groep bepaalt de rechten.
Ik wil het systeem zo dynamisch mogelijk maken, en er komen zeer veel verschillende rechtensoorten (zoals 'artikel toevoegen' of 'pagina wijzigen').
Wat is de handigste manier om bij die groepen de rechten die ze krijgen op te slaan in MySQL?
Opties die ik zelf zag, maar niet echt perfect vond, waren:
1. Per recht een nieuwe rij aanmaken in MySQL (nadeel: gezien het feit dat er soms nieuwe rechten bijkomen, moet telkens het tabel aangepast worden)
2. één veld maken voor alle rechten, die hij scheidt met een | of ander teken: met explode/implode te maken/krijgen. Of dit, maar dan met serialize(PHP)
3. Een nieuw tabel maken met daarin de rijen 'gebruikersgroep (als verwijzing naar de groeepn), de rij 'recht' (bijv. 'artikel toevoegen') en de rij 'waarde' (0 voor nee, 1 voor ja). Dit wordt dan een ontzettend lang tabel met heel vaak dezelfde groepen, zelfde rechten (die weer voor andere groepen gelden. Dit dan met een SQL join.
Mijn vraag is dan ook:
Wat is het handigste systeem om de typen rechten op te slaan, en hierbij gemakkelijk nieuwe rechten-typen te kunnen toevoegen en wijzigen. Zo dynamisch mogelijk, want dit moet gebeuren in PHP zelf (je kan in de CMS wijzigen in het "register")
1.097 views