[rechten in db opslaan] model voor gebruikers rechten

Pagina: 1
Acties:

  • sirono
  • Registratie: November 2002
  • Laatst online: 07-08-2025
he allemaal,

ik ben bezig met een database ontwerp voor een extranet. (beveiligt gedeelte van een website)
hier komen een hoop adres gegevens op van leden enz enz.

het probleem:

ik heb veel verschillende gebruikers, met allerlei verschillende rechten op de data.
dit zijn eindgebruikers (geen db gebruikers dus)

nu ben ik op zoek naar een manier om dit netjes en goed te modeleren in de database.
ik ben zelf al wezen zoeken (uiteraard) wat ik vaak tegen kom is 1 tabel met allemaal vinkjes voor de verschillende rechten. maar aangezien dit er nogal veel zijn vraag ik me af of dit handig is...

ik kan natuurlijk zelf het wiel opnieuw uitvinden, maar misschien heeft iemand het al uitgevonden voor me :)

kortom:

heeft iemand een goed idee voor een dergelijk model? of weet iemand goede documentatie online over dit onderwerp?

bvd
peter

  • H!GHGuY
  • Registratie: December 2002
  • Niet online

H!GHGuY

Try and take over the world...

offtopic:
lees ook ff de netiquette op dit forum. wij tweakers groeten elkaar altijd. dus moet je die niet telkens boven en onderin je post plakken


Ik raad je aan om het verschil eens te bekijken tussen authenticatie en authorisatie.

vanuit dat perspectief komt het veelgebruikt model van rollen toekennen aan gebruikers of gebruikersgroepen. Dit kan je heel eenvoudig in je DB modelleren zonder meteen te vervallen in horizontaal ontwerp e.d.

ASSUME makes an ASS out of U and ME


  • sirono
  • Registratie: November 2002
  • Laatst online: 07-08-2025
authorisatie door middel van gebruikersgroepen was al het idee,
maar hoe krijg ik de rechten toegewezen aan een groep zonder hier een tabel voor te hoeven maken met een stuk of 50 kolommen?

  • simon
  • Registratie: Maart 2002
  • Laatst online: 10:39

|>


  • H!GHGuY
  • Registratie: December 2002
  • Niet online

H!GHGuY

Try and take over the world...

koppeltabel ?

ASSUME makes an ASS out of U and ME


  • BestTested!
  • Registratie: Oktober 2003
  • Laatst online: 09:11
Ik heb het altijd op de volgende manier gedaan. Ik heb hier altijd voldoende mee kunnen doen, maar misschien dat er een beter model is:

code:
1
2
3
4
5
6
7
8
9
10
11
User: 
Id, Name, etc, etc, Group

Group:
Id, Name, etc etc.

Roles:
Id, Name, etc, etc.

GroupRights
GroupId, RoleId


Je kan dan bijvoorbeeld een gebruiker Pietje hebben, met als group Administrator en alle mogelijke rollen. Of een gebruiker Jantje, met als group NormalUser en enkel een aantal rollen om bijvoorbeeld op het forum te posten

  • SeatRider
  • Registratie: November 2003
  • Laatst online: 09:06

SeatRider

Hips don't lie

sirono schreef op vrijdag 16 juni 2006 @ 11:46:
authorisatie door middel van gebruikersgroepen was al het idee,
maar hoe krijg ik de rechten toegewezen aan een groep zonder hier een tabel voor te hoeven maken met een stuk of 50 kolommen?
Rechten opslaan als getalletje? Stel dat je 4 verschillende rechten hebt.

0001 = 1
0010 = 2
0011 = 3

etc. Met een bitwise operator kun je heel makkelijk de rechten controleren.

Nederlands is makkelijker als je denkt


Verwijderd

Ik zou je eens kijken naar RBAC. Role Based Access Control. Als je veel gebruikers heb is dat vaak wel een goede uitkomst.

[ Voor 8% gewijzigd door Verwijderd op 17-06-2006 16:54 ]


  • GX
  • Registratie: Augustus 2000
  • Laatst online: 14-05-2025

GX

Nee.

Als je de rechten van de roles ook nog eens in een aparte genormaliseerde tabel zet, kan je naast iemand een rol (en dus privileges) ook nog individuele rechten toekennen.

  • Vedett.
  • Registratie: November 2005
  • Laatst online: 19-02 19:21
Ben je met .Net bezig?

Ik heb de laatste weken geëperimenteerd met AzMan, en het bevalt me heel goed.
http://msdn.microsoft.com.../11/AuthorizationManager/

Verwijderd

Als je inderdaad in ASP.NET bezig bent (2.0). Daar zit het hele gebeuren netjes ingebakken. Via een Role- en Membership Provider wordt alles automatisch voor je geregeld. Je hoeft je zelfs niet druk te maken over je inlogscherm etc...

Er zijn erg veel artikelen over te vinden onder andere deze:
http://aspnet.4guysfromrolla.com/articles/120705-1.aspx
Pagina: 1