Ik ben een beetje aan het experminteren met ACL's (Access Control List). Ik heb dit principe wel door en zie daar alle voordelen in. Ik snap dat je mensen kunt restricten op bepaalde zaken, maar hoe geef je dit door aan bijvoorbeeld de template parser.
Voorbeeldje:
Je kunt hier op PHPhulp je posts editten. Hoe zorg ik ervoor (via OOP en smarty) dat het edit icoon (op een eenvoudige manier) alleen bij de juiste user wordt getoond?
Houdt er ook rekening mee dat de user ook zijn eigen post moet kunnen editen, en eventueel ook een restrictie aan de leeftijd van de post.
Dat wordt allemaal bepaald door de isAllowed() method. In de template hoef je alleen maar te controleren of de variabele die het resultaat daarvan aangeeft TRUE of FALSE is...
De oplossing ligt in een static klasse die als auhorizer optreed, Hierbij geef je een user, en object mee, en dan kijkt de klasse in de ALC(DB?) of hij die toegang heeft. Hier kan je allemaal methodes op bedenken, zoals meervoudig autorizen van een single user tegen meerdere objecten. Of als "lege" user tegen een x aantal objecten.