login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Goed rechten systeem

Offline Ultimatum - 18/08/2008 21:39
Avatar van UltimatumPHP expert Ey, ik ben nu bezig met een online spel en loop een beetje tegen het rechten systeem aan. Ik beschouw als elk onderdeel (forum, contact etc..) als modules, maar ik moet dus eigelijk per module allemaal aparte rechten geven want een normale gebruiker heeft op een forum maar tot een beperkt aantal forums rechten enzo. Maar hoe kan ik dit nou het best en effectiefst mogelijk aanpakken.

Want als ik het in de database zet en heb bijvoorbeeld 50 recordsdan is het niet echt effectief als er 10 bezoekers tegelijk een pagina opvragen en ik dan door alle records moet heen loopen om te kijken of ze wel toegang tot een bepaalde pagina hebben. Iemand die mij op weg zou kunnen helpen, een goede tutorial zou helemaal top zijn  

10 antwoorden

Gesponsorde links
Offline Stijn - 19/08/2008 02:04
Avatar van Stijn PHP expert Voor je rechtensysteem moet je eens kijken naar ACL. Voor het tweede probleem moet je gebruik maken van cache.

1) Je hebt een query (SELECT * FROM ....)
2) Je kijkt of die query niet in je cache staat.
3) Hij staat er niet in => records ophalen en in een bestand opslaan.
4) Je opent het cache bestand en leest de records uit.

Wanneer je iets wijzigt in die tabel moet je alle cache files wissen die gebruik maken van die tabel. Het aanpassen van cache files is een lastige bewerking.
Offline Ultimatum - 19/08/2008 07:07
Avatar van Ultimatum PHP expert Ik snap niet wat het nut is van cache, want dan moet ik toch nog steeds elke keer kijken of een bezoeker rechen heeft of niet? Ik heb wel al gezocht naar ACL maar vond niet echt een duidelijke tutorial ofzo, weet jij er toevallig 1?
Offline compudoc - 19/08/2008 07:53
Avatar van compudoc PHP beginner misschien kan je het rechten systeem met een bitwise systeem doen.
http://www.phphulp.nl/php/tutorials/10/633/
Offline Ultimatum - 19/08/2008 09:29
Avatar van Ultimatum PHP expert Daar heb ik ook naar gekeken maar is niet effectief is omdat er dan per actie in een module rechten aangeven, zou ook iets willen dat rechten inheret zoals ACL van zend doet, dus zoiets wil ik graag maken maar kan geen goeie duidelijke tutorial vinden alleen maar scripts met onduidelijke code waar ik niets uit wijzer word dus ook niets van leer  . Maar als dit wel met bitwise kan zou ik graagweten hoe, zal wel niet moeilijk zijn maar zie nu niet hoe ik dat ga klaar spelen.
Offline kickasgamer - 19/08/2008 14:48
Avatar van kickasgamer PHP ver gevorderde gewoon
1= admin
2= mod
3= lid
4= ban
5= mod sectie 1
6= mod sectie 2
...
Offline Ultimatum - 19/08/2008 19:12
Avatar van Ultimatum PHP expert
kickasgamer schreef:
gewoon
1= admin
2= mod
3= lid
4= ban
5= mod sectie 1
6= mod sectie 2
...

kickasgamer, ga je nou uit van een bitwise systeem of niet want dan klopt er niets van en dit is zoals ik al in 3 posts heb gezegd niet echt effectief omdat ik voor iedere sectie moet aangeven wie wel en wie geen rechten heeft en dan krijg je dus per module al 4 regels (1 per recht). En als je zoiets al jouw wilt doen zou ik voor 2 lijsten gaan, 1 voor rechten en 1 voor objecten dus niet 1 lijst want jij telt gewoon door bij objecten
Offline Wouser - 19/08/2008 19:48
Avatar van Wouser PHP interesse Ikzelf ga zend_acl gebruiken voor me rechten systeem, alleen ben ik daar ook nog niet helemaal uit hoe het werkt
Offline kickasgamer - 19/08/2008 20:37
Avatar van kickasgamer PHP ver gevorderde
Ultimatum schreef:
[..quote..]
kickasgamer, ga je nou uit van een bitwise systeem of niet want dan klopt er niets van en dit is zoals ik al in 3 posts heb gezegd niet echt effectief omdat ik voor iedere sectie moet aangeven wie wel en wie geen rechten heeft en dan krijg je dus per module al 4 regels (1 per recht). En als je zoiets al jouw wilt doen zou ik voor 2 lijsten gaan, 1 voor rechten en 1 voor objecten dus niet 1 lijst want jij telt gewoon door bij objecten


ja ik gebruik het in een simpele versie alleen admin,mod,lid en ban gebruik

maar je kan ze zo gebruiken zoals ik zei en zo in de DB zetten bv 5,7,8 en dan explode je de , weg en heb je alle rechten per gebruiker
Offline Ultimatum - 19/08/2008 21:11
Avatar van Ultimatum PHP expert Ja maar dat is niet database geoptimaliseerd, want als je gaat optimaliseren ga je data dat in 1 veld zit gescheiden door een komma in een andere tabel zetten.
Offline kickasgamer - 19/08/2008 21:25
Avatar van kickasgamer PHP ver gevorderde uhm, ja dat is wel waar ja. Ja met de simpele verse die ik gebruik heb ik genoeg. maar jammer dat ik je dna niet heb kunnen helpen
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.185s