Rechten class
Ik heb een soort rechten systeem. Het eigenlijke doel van het project is om zo precies mogelijk te bepalen wat een gebruiker wel en niet moet kunnen.
Het werkt zo:
De beheerder(s) kunnen inloggen in het beheer gedeelte.
Een beheerder (ook wel admin) kan dan een nieuwe groep maken, die hij een naam geeft. (Bijvoorbeeld moderator)
Dan kan hij uit een hele lijst kiezen welke dingen er gedaan mogen worden door gebruikers die bij deze groep horen.
In die lijst staat bijvoorbeeld of deze groep andere accounts kan veranderen, maar dit is dan ook weer onderverdeeld, zo kun je verder weer kiezen of deze groep alleen emailadressen kan veranderen, en/of gebruikersnamen etc.
Door dit "rechten" systeem wordt alles heel ingewikkeld.
Het project is in mijn beste OO-php geschreven, daarom zit ik te denken om een soort klasse te maken waarmee je makkelijk kunt bepalen of een ingelogde gebruiker iets mag of niet, afhankelijk van de groep waar deze bij hoort.
Hoe zal ik deze klasse überhaupt noemen? Ik dacht: Authorization (betekent: machtiging/toestemming)
En daarna dacht ik meteen: ik maak nog een andere klasse die ik Authentication noem (betekent: identiteitscontrole/identiteit)
Deze klasse moet dan de "identiteit" van een gebruiker bepalen, en de klasse Authorization maakt dan gebruik van deze identiteit.
Ik twijfel of dit iets wordt. De classnamen zijn best rare woorden, en ik vind de namen best lang. Ook verwissel je ze snel (vind ik)
Hoe kan ik dit nu het beste regelen?
Gewijzigd op 23/08/2013 19:20:27 door Mark Hogeveen
Ik vind het persoonlijk goede namen en ook zeker niet idioot lang.
Is het ook een goed idee om de Authentication (identiteits) klasse te gebruiken als een soort datalaag, zodat Authorization de data kan gebruiken uit die datalaag?
- een class moet maar één verantwoordelijkheid hebben.
- 'extend' doe je alleen als: 'childclass' is een 'parentclass'
Authentication en Authorization zijn veel gebruikte classnamen in OO beveiligingsscripts, niks mis mee dus
Quote:
Authentication en Authorization zijn veel gebruikte classnamen in OO beveiligingsscripts, niks mis mee dus
Helemaal mee eens!
Als je nog een stapje verder wilt gaan, zou ik het "Authorization" gedeelte opzetten volgens het "RBAC" principe: http://nl.wikipedia.org/wiki/Role-based_access_control