Tutorials >
PHP >
Rechten beheren
|
Gepost op: 28 oktober 2008 - 19:34 |
|
|
|
PHP expert
|
Op deze tutorial heb ik lang gewacht aangezien ik over dit onderwerp een tutorial had gevraagd. Maar het wat in ieder geval het wachten waard. Hele overzichtelijke, duidelijke tutorial. |
|
|
|
Gepost op: 28 oktober 2008 - 20:34 |
|
|
|
PHP expert
|
Prachtige tutorial en zeer nette code. |
|
|
|
Gepost op: 28 oktober 2008 - 23:32 |
|
|
|
Crew algemeen
|
Even snel over heen gekeken en het ziet er netjes uit!
Zal hier binnenkort eens even de tijd voor nemen om het allemaal rustig door te lezen. |
|
|
|
Gepost op: 29 oktober 2008 - 09:33 |
|
|
|
Moderator
|
Kost het rechten geven via ACL niet meer tijd voor de programmeur? Stel dat je 30 modules en 5 verschillende 'functies' (gebanned, user, advanced user, mod, beheerder) dan krijg je regels en regels code? Of zie ik dat fout?
edit: o nee, dit hoef je maar één keer te doen in de config. Je kan deze class natuurlijk een stuk uitbreiden dat je bij admin kunt zeggen: admin,*,* zodat je in alle modules en in alle rechten op 'true' staat.
Mooie tutorial verder trouwens! |
|
|
|
Gepost op: 29 oktober 2008 - 14:26 |
|
|
|
Crew algemeen
|
@Wijnand,
Dit is inderdaad nog maar een hele simpele class. Als je echt gaat werken met anonieme rollen, objecten en rechten hoef je veel minder regels te definiëren en ben je een stuk sneller klaar voor gebruik.
Dat heb ik voor in deze tutorial niet geïmplementeerd omdat dat best wel veel lastige code oplevert. Ik wilde vooral het basis idee duidelijk maken zonder dat een lezer gelijk verdwaalt in lappen code. Voor echt gebruik raad ik Zend_Acl aan die heel veel completer is. |
|
|
|
Gepost op: 29 oktober 2008 - 16:36 |
|
|
|
PHP expert
|
@Boukefalos, zou je het idee van Wijnand niet in bijvoorbeeld een 2de tutorial kunnen uitleggen. Zo heb je dan een tutorial over de basic van ACL en een geavanceerdere tutorial waar je dieper in ACL in gaat. Is dat niet een idee want ik ben wel benieuwd in hoeverre je dit nog beter en nog efficienter kan gebruiken/maken. |
|
|
|
Gepost op: 29 oktober 2008 - 16:47 |
|
|
|
PHP expert
|
Mooie tutorial! Erg goed uitgelegd! |
|
|
|
Gepost op: 29 oktober 2008 - 18:31 |
|
|
|
Crew algemeen
|
Het is echt goed te horen dat jullie tevreden zijn! Ik was eigenlijk bang dat het teveel tekst zou zijn.
@Ultimatum,
Ik denk dat ik inderdaad een advanced tutorial ga maken. Dat zal denk ik ook interessant zijn voor mensen die graag eens zien hoe je in stappen een ingewikkelder systeem implementeert. |
|
|
|
Gepost op: 29 oktober 2008 - 21:39 |
|
|
|
PHP expert
|
Het is wel een gevorderde tutorial, en dan is een beetje theorie erachter niet erg Dan ga je beter begrijpen hoe het werkt. Als beginner is dat misschien niet altijd even leuk en nuttig, maar ik denk dat het voor gevorderden wel goed is |
|
|
|
Gepost op: 30 oktober 2008 - 15:00 |
|
|
|
Beheerder
|
Citaat: Hoe weet ik of een rol bepaalde rechten heeft tegelijk heeft?
Leuke zin verder super tutorial.
Tony Marston heeft ook een reeks goede artikelen hierover geschreven. Deze zijn te vinden op www.tonymarston.net. |
|
|
|
Gepost op: 31 oktober 2008 - 18:36 |
|
|
|
HTML gevorderde
|
Wanneer ik de code uit de tutorial overneem (de code van de class), krijg ik steeds volgende error:
Citaat: Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in c:phpdevwwwpublicsites...aclacl.php on line 3
Deze gaat over de volgende lijn:
Heeft misschien iemand hier een oplossing voor? |
|
|
|
Gepost op: 31 oktober 2008 - 19:40 |
|
|
|
Crew algemeen
|
Waarschijnlijk gebruik je php 4. Daarin bestaan de access modifiers (public, protected en private) nog niet. Als je die allemaal weghaalt in de code zou het wel moeten werken.
Ik had ze wel gebruikt omdat het dan gelijk duidelijk is welke functies je wel en niet kunt aanroepen. In dit geval zijn ze allemaal public, dus het maakt niet uit of ze er wel of niet staan.
De magic functie __construct() bestaat ook nog niet in php 4. Daarvoor wordt de functie die dezelfde naam als de class heeft (hier AccessControlList) als constructor gebruikt. Je moet __construct() dus ook even hernoemen. |
|
|
|
Gepost op: 31 oktober 2008 - 19:46 |
|
|
|
HTML gevorderde
|
Op m'n localhost gebruik ik inderdaad nog PHP4. Dan zal ik de bestanden eens moeten uploaden en zien of het dan werkt. Anders zal ik inderdaad de modifiers moeten weghalen. In ieder geval bedankt voor het antwoord en voor de rest: Prachtige tutorial! Ik hoop zeker (zoals vele anderen hier), dat er nog een vervolg komt! |
|
|
|
Gepost op: 01 november 2008 - 01:03 |
|
|
|
Nieuw lid
|
No offence hey, maar het systeem opzich bestond al he |
|
|
|
Gepost op: 01 november 2008 - 11:28 |
|
|
|
Crew algemeen
|
Ja dat klopt, ik heb het natuurlijk ook niet zelf bedacht allemaal.
Ik probeer alleen uit te leggen hoe het werk. Dat script van FangorN is in ieder geval een erg goed voorbeeld! Ik zal ernaar verwijzen. |
|
|
|
Gepost op: 16 februari 2009 - 21:42 |
|
|
|
PHP expert
|
Ik heb de tutorial eens doorgenomen, en ik moet zeggen dat ik er aardig wat van geleerd heb. Goede tutorial dus! |
|
|
|
Gepost op: 31 juli 2009 - 13:19 |
|
|
|
Nieuw lid
|
Mooie tutorial echter is er 1 nadeel aan deze vorm van rechten toekennen en dat is het zogenaamde bit limiet.
Als je deze code op een 32bit machine uitvoert heb je door de PHP_INT_MAX ofwel de maximale hoogte van een integer maar maximaal 32 verschillende rechten, op een 64bit machine is dit natuurlijk 64.
Dus als je grootte systemen wilt maken, is dit niet de oplossing die je zoekt. |
|
|
Enkel aanvullende informatie is welkom. Geen prijzende of afkeurende reacties. |
|
|
|