Rechtensysteem voor website

Pagina: 1
Acties:
  • 2.464 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

  • _eXistenZ_
  • Registratie: Februari 2004
  • Laatst online: 28-09 05:17
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:

groupidpermission
1enteracp
1view_2
2view_2
2moderate_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!


Acties:
  • 0 Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
Je gaat al denken richting RBAC met rechten, groepen en users. Kijk eens naar Fine Grained Role Base Access Control, een nette oplossing, OO uitgevoerd voor PHP en MySQL :)

Acties:
  • 0 Henk 'm!

  • _eXistenZ_
  • Registratie: Februari 2004
  • Laatst online: 28-09 05:17
Ik had mijn ideeen idd ook gebaseerd op RBAC :) Inmiddels heb ik een aardig systeempje :)

There is no replacement for displacement!