Op dit moment ben ik met een groepje vrienden bezig met een website die verscheidene users zal gaan trekken. Hier wil ik ook een mooi dynamisch rechtensysteem in hebben zitten. Het betreft een online spel (op de manier van bijv. crimeclub.nl) dus er moet minimaal op de volgende rechten gechecked worden:
- login (of ze niet banned zijn)
- enter admin panel
op het forum per subforum checken of ze:
- het forum mogen zien
- mogen posten
- mogen moderaten
- een poll mogen maken
- eventueel nog wat andere dingetje
De manier die ik bedacht had om dit te managen is als volgt:
- elk userid wordt aan een groupid gekoppelt.
- in een aparte tabel rights(groupid, permission) worden alle permissies ingesteld die mogen.
Deze database kan er dus als volgt uit zien:
Als er een nieuw forum komt, met bijv. id 22, checkt deze of de users de permission view_22 hebben
In PHP fix ik dan dattie in een rights menuutje vinkjes aanmaakt om deze char in de database te adden.
Die chars zit ik dus een beetje mee, nu moet ik met chars permissions checken. Ik vind dit niet echt een mooie oplossing. Mss weet iemand een beter? (Het lijkt mij veel mooier om alles met ID's te doen, maar hoe programmer je dan? Dan moet je constant bij een check het goeie id opzoeken om op te nemen in php...)
Of is mijn oplossing eignelijk helemaal niet zo mooi, en zijn er veel mooiere oplossingen te bedenken?
- login (of ze niet banned zijn)
- enter admin panel
op het forum per subforum checken of ze:
- het forum mogen zien
- mogen posten
- mogen moderaten
- een poll mogen maken
- eventueel nog wat andere dingetje
De manier die ik bedacht had om dit te managen is als volgt:
- elk userid wordt aan een groupid gekoppelt.
- in een aparte tabel rights(groupid, permission) worden alle permissies ingesteld die mogen.
Deze database kan er dus als volgt uit zien:
groupid | permission |
1 | enteracp |
1 | view_2 |
2 | view_2 |
2 | moderate_2 |
Als er een nieuw forum komt, met bijv. id 22, checkt deze of de users de permission view_22 hebben
In PHP fix ik dan dattie in een rights menuutje vinkjes aanmaakt om deze char in de database te adden.
Die chars zit ik dus een beetje mee, nu moet ik met chars permissions checken. Ik vind dit niet echt een mooie oplossing. Mss weet iemand een beter? (Het lijkt mij veel mooier om alles met ID's te doen, maar hoe programmer je dan? Dan moet je constant bij een check het goeie id opzoeken om op te nemen in php...)
Of is mijn oplossing eignelijk helemaal niet zo mooi, en zijn er veel mooiere oplossingen te bedenken?
There is no replacement for displacement!