Hoofdcategorieën
Topicacties

[PHP/SQL] Ideale rechtensysteem

Pagina: 1

Reageer Nieuw Topic
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?
 

Acties:


Door: RobIII
Moderator PRG/SEA/WEB
Papa van LucaIII en DanuIII

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.

RobIII wijzigde dit bericht 07-04-2008 11:01 (89%)

My other computer is a Cray Y/MP-4!

Trotse papa van Luca en Danu! | Pick My Icon!

quote:
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.
 

Acties:


Door: NMe
Admin DevschuurŽ
Koos Alberts-pauper
Berichten: 34.821
Reg. datum: 25 februari 2004

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

Over MySQL:
NMe: Als je weet waar de gaatjes zitten, dan kun je er prima mee werken.
.oisyn: Tja, dat geldt ook voor vrouwen, maar dat wil nog niet zeggen dat ze niet af en toe het bloed onder je nagels vandaan halen.

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.

Acties:


Door: RobIII
Moderator PRG/SEA/WEB
Papa van LucaIII en DanuIII

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

RobIII wijzigde dit bericht 07-04-2008 13:33 (39%)

My other computer is a Cray Y/MP-4!

Trotse papa van Luca en Danu! | Pick My Icon!

Berichten: 336
Reg. datum: 14 augustus 2001

quote:
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:


Door: RobIII
Moderator PRG/SEA/WEB
Papa van LucaIII en DanuIII

quote:
Helemaal niet, maar moet ik er jou ook nog eens op wijzen?
scriptrequest
Registratievoorwaarden / korte FAQ
quote:
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.

My other computer is a Cray Y/MP-4!

Trotse papa van Luca en Danu! | Pick My Icon!

Berichten: 1.438
Reg. datum: 17 augustus 2000

quote:
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:


Door: RobIII
Moderator PRG/SEA/WEB
Papa van LucaIII en DanuIII

quote:
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.

RobIII wijzigde dit bericht 07-04-2008 16:13 (14%)

My other computer is a Cray Y/MP-4!

Trotse papa van Luca en Danu! | Pick My Icon!

Pagina: 1



VNU Media logo Hosted by True

© 1998 - 2010 Tweakers.net - Alle rechten voorbehouden - Uw Privacy - Algemene Voorwaarden

Uitgever van:

Website van het jaar 2009