[PHP/SQL] Ideale rechtensysteem

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Tanuki
  • Registratie: Januari 2005
  • Niet online
Ik zit momenteel te zoeken op een manier om rechten op de meest flexibele manier op te slaan.

Ik had dit in gedachten:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
rights
- id
- name
- scriptname ("add_article", "post_new_forum_topic", etc.)
- type (default boolean, maar int/float ook mogelijk)

groups
- id
- name
- eventueel extra kolommen m.b.t. het erven van rechten e.d.

rightgroups
- rightid
- groupid
- value (1/0, of andere nummertjes)

usergroups
- userid
- groupid

Ik denk dat dit redelijk flexibel is, maar je loopt toch weer tegen enkele limitaties op: Bijvoorbeeld bij het uitdelen van rechten per forum: User X mag wel topics verplaatsen, maar user Y mag dit niet. User Z mag dit ook niet, maar wel in forum 1 en 2.

Wat raden jullie aan om voor bovenstaand probleem te gebruiken? Of is er nog iets mis aan de database structuur?

PV: Growatt MOD5000TL3-XH + 5720wp, WPB: Atlantic Explorer v4 270LC, L/L: MHI SCM 125ZM-S + SRK 50ZS-W + 2x SRK 25ZS-W + SRK 20ZS-W Modbus kWh meter nodig?


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Kijk eens naar RBAC: Wikipedia: Role-based access control
Waarom het wiel voor de 200.000ste keer opnieuw uitvinden? ;)

Verder: waarom lijk je de search telkens te missen? En nu je de juiste term/afko hebt: RBAC. Voila.

[ Voor 89% gewijzigd door RobIII op 07-04-2008 11:01 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • Tanuki
  • Registratie: Januari 2005
  • Niet online
RobIII schreef op maandag 07 april 2008 @ 10:57:
Kijk eens naar RBAC: Wikipedia: Role-based access control
Waarom het wiel voor de 200.000ste keer opnieuw uitvinden? ;)

Verder: waarom lijk je de search telkens te missen? En nu je de juiste term/afko hebt: RBAC. Voila.
De search heb ik wel gevonden hoor. ;) Maar wat ik daar vind voldoet eigenlijk niet. Het is allemaal een beetje vaag uitgelegd. En de meeste oplossingen die worden aangereikt zijn niet echt netjes qua implementatie. Ik kom ook iets van RBAC tegen op SitePoint: http://www.sitepoint.com/forums/showthread.php?t=162027 een hele discussie hierover, maar ze zijn op een gegeven moment opgehouden. Wel jammer, want dat is de enige (gedeeltelijke) implementatie die ik kan vinden hierover.

PV: Growatt MOD5000TL3-XH + 5720wp, WPB: Atlantic Explorer v4 270LC, L/L: MHI SCM 125ZM-S + SRK 50ZS-W + 2x SRK 25ZS-W + SRK 20ZS-W Modbus kWh meter nodig?


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Op de eerste pagina bij [google=rbac php implementation]:
As of 10th April 2006 the software discussed in this article can be downloaded from www.radicore.org

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • MarkvE
  • Registratie: Maart 2004
  • Laatst online: 30-01 17:16
Ik zit er zelf ook wat informatie over te zoeken en dit is wel een interessant topic over RBAC: http://www.sqlrecipes.com...ss_control_rbac_system-3/

Hier heeft iemand zelf al wat in elkaar gezet qua database design.

Vormkracht10


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Als je nou eens begint met zelf een poging te doen in plaats van vragen voor kant-en-klare oplossingen; dat is hier in de DevSchuur namelijk niet de bedoeling. Concrete vragen zijn altijd welkom als je ergens vastloopt of vragen over hebt, maar dit gaat toch echt te ver.

Overigens staat er notabene een compleet ontwerp in de link die je zelf post :D

[ Voor 39% gewijzigd door RobIII op 07-04-2008 13:33 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • Ruffian
  • Registratie: Augustus 2001
  • Laatst online: 10-09 14:50
RobIII schreef op maandag 07 april 2008 @ 13:32:
Als je nou eens begint met zelf een poging te doen in plaats van vragen voor kant-en-klare oplossingen; dat is hier in de DevSchuur namelijk niet de bedoeling. Concrete vragen zijn altijd welkom als je ergens vastloopt of vragen over hebt, maar dit gaat toch echt te ver.

Overigens staat er notabene een compleet ontwerp in de link die je zelf post :D
Slecht geslapen jongen?
Ik heb er ook eens naar gezocht en om nu echt een goede handleiding te vinden is mij ook nog niet gelukt.

Al komt die sqlrecipes aardig in de buurt.

A life? Where can I download it??


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Helemaal niet, maar moet ik er jou ook nog eens op wijzen?
scriptrequest
Registratievoorwaarden / korte FAQ
Ruffian schreef op maandag 07 april 2008 @ 13:39:
[...]
Ik heb er ook eens naar gezocht en om nu echt een goede handleiding te vinden is mij ook nog niet gelukt.

Al komt die sqlrecipes aardig in de buurt.
Er is meer dan voldoende te vinden als je even googled. Daarbij is RBAC geen rocket science en is met een beetje SQL kennis prima zelf zo'n systeem te verzinnen danwel op te zetten.

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
l0c4lh0st schreef op maandag 07 april 2008 @ 10:56:
...
Ik denk dat dit redelijk flexibel is, maar je loopt toch weer tegen enkele limitaties op: Bijvoorbeeld bij het uitdelen van rechten per forum: User X mag wel topics verplaatsen, maar user Y mag dit niet. User Z mag dit ook niet, maar wel in forum 1 en 2.
...
Ik ben wel benieuwd waarom user Z in forum 1 (en 2) wel posts mag verplaatsen. Is hij bijvoorbeeld eigenaar? Je kan daarvoor een aparte set regels bedenken en bijbehorende rechten voor de eigenaar. Anders dan krijg je een vermengeling van RBAC en individuele rechten op items (zoals een forum). Kan wel, maar je haalt jezelf wel een boel extra werk op de hals.

Je kunt individuele rechten wel simuleren trouwens: Iedere user die wordt aangemaakt wordt in een groep die alleen voor hem is geplaatst. Deze groep kun je vervolgens rechten geven en afnemen. Maar goed, dit beschrijven alleen al laat een licht vieze smaak achter in mijn mond :)

Acties:
  • 0 Henk 'm!

Verwijderd

Ik vind dit wel een mooi systeem:

http://wiki.phpfreakz.nl/...eaus_binnen_webapplicatie

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Als je maar zorgt dat TS er ver vandaan blijft :P
Dit soort systemen werken leuk als het aantal rechten van te voren vastgelegd is en er niet meer dan X rechten zijn en nooit zullen komen. In dit soort gevallen loop je al snel tegen max 32 of 64 rechten aan (32 of 64 bits in een long/big/whatever-int); in een beetje rechtensysteem heb je dit soort (onnodige!) beperkingen niet.
Met jouw suggestie ga je al heel snel in de problemen komen als je (bijv.) users, administrators, powerusers en een stuk of 10 fora hebt waarin je read/write/delete/etc. rechten op wil instellen.

[ Voor 14% gewijzigd door RobIII op 07-04-2008 16:13 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij

Pagina: 1