Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour à tous,
Je suis à la recherche d'exemple me permettant d'instaurer des règles ACL au niveau des donnés affichées en provenance de mes modèles. J'ai vu dans la doc qu'on avait la possibilité d'écrire des règles ACL conditionnelles avec des assertions mais je ne vois pas bien comment gérer tout ça au niveau de ma base de données mysql.
Dans l'idée j'aimerais pouvoir faire en sorte qu'un utilisateur selon son niveau d'utilisation puisse, ou ne puisse pas voir des lignes de résultat en provenance d'un fetchAll par exemple. Ou alors qu'un utilisateur ne puisse pas avoir accès à la modification d'un élément dont il n'ai pas le créateur ... etc
Si quelqu'un à des exemples à me montrer ça serait super !
Dernière modification par erehcab (04-05-2011 21:41:58)
Hors ligne
disons que tout dépends sur quoi tu veux mettre les acl ...
perso j'ai des acl pour l'accès au pages (je charge tout en cache, comme cela pas de recalcul)
et d'autre dédié a certaines ressources particulière tel que des donnée ou des fichiers, celle-là je fait une requête au moment du test en question...
sinon j'ai articuler le tout sur 5 tables :
- ressources
- roles
- privileges
- scopes (permet de définir le cadre d'application (par exemple scope 1 = acl pour les pages), une référence est faites dans chacune des autres tables)
- allowdeny : tables reprenant les règles ...
je n'ai pas eu besoins des assert ... (mais mon projet est pas terminer)
Voici pour la structure (je vient de remarquer qu'il manquait une foreign key d'ailleurs)
Dernière modification par Grummfy (04-05-2011 19:55:53)
Hors ligne
Bonsoir ;
Pourriez vous me donner le nom du logiciel que vous utilisez pour votre diagramme ?
Hors ligne
phpmyadmin ...
sous linux, dans le package fourni avec la plupart des distribution le concepteur est activer par défaut sous windows (mac je sais pas) il suffit de faire cette procédure (attention, il faut que mysql accepte les clef étrangère donc mode innodb comme moteur de table) : http://php.developpez.com/cours/pma-tables-liees/ http://wiki.phpmyadmin.net/pma/pmadb
Hors ligne
En faite j'aimerai que pour un utilisateur donné avec son role on n'affiche que les entrés qu'il à saisit dans la bdd et pas celles saisie par les autres. La solution simple serait de varier la requète qui récupère les donnée selon l'id de la personne mais j'aimerai intégrer ça à la gestion des ACL pour avoir quelquechoses de clean !
Dernière modification par erehcab (04-05-2011 21:45:39)
Hors ligne
heu, je ne voix pas en quoi intégrer les acl est clean, dans ce cas mettre l'id (ou autre) de l'encodeur est la solution seine ...
Hors ligne
Ok j'avais envie de les utiliser car je les trouve faciles à maintenir via un fichier de config. Voilà pourquoi je parlais de solution " clean ". Mais je me fis à ton avis et je vais donc gérer ça avec les requêtes.
En tout cas merci de m'avoir aidé !!!
Hors ligne