Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
Je suis actuellement sur le développement d'un application requérant une gestion des restriction infaillible, et ma question concerne cette dernière.
J'aimerais gérer la restriction de l'accès à des pdf en fonction des droits d'un utilisateur.
J'ai un controller "pdf" avec une action "documentAnnexe" et mes url sont du type http://localhost/pdf/document-annexe/id/33
Je dois vérifier si l'utilisateur à le droit d'accéder à ce document d'après des informations en base de donnée.
Dois-je utiliser Zend_Acl_Assert en fournissant en paramètre l'identité de l'utilisateur ?
D'autre part, j'ai du mal à comprendre le fonctionnement exacte de Zend_Acl dans le sens ou la méthode "allow" prend automatiquement en paramètre des ressources et des actions.
Quel différence de traitement y a t'il entre les ressources et les actions ?
Comment restreindre une action sur tous les controllers ?
Merci
Hors ligne
Ici, ta ressource, c'est ton pdf. Jje suppose que tu l'identifie par son identifiant (33 dans ton exemple)
Donc, pas besoin d'assert,
Tu tests si ton role 'toto' à le droite de faire l'action 'lire' sur la ressource '33'
Les actions, sont des 'précisions' sur le droit qu'on veut tester, tu n'es pas obligé de les utiliser.
Tu peux placer un droit 'allow' de toto sur la resource '33' mais sans action.
Dans ce cas, pas besoin de testé ton droit avec une action.
Hors ligne
Re,
Merci pour ta réponse,
Cela veut-il dire qu'il faut que je crée une resource pour chaque pdf ???
Quel est alors la bonne méthode au niveau de mon plugin qui gère les restrictions avant la boucle de dispatching:
=>créer un objet acl selon le type de ressource, instancier ceux nécessaires en fonction de la requête ?
J'étais personnellement partie sur un assert de type Pdf qui s'occupe tout simplement d'autoriser ou non, pourquoi n'est ce pas la bonne solution ? dans quel cas doit on utiliser les asserts ?
Merci
Hors ligne
Moi, j'utiliserais l'héritage
Hors ligne
nORKy a écrit:
Moi, j'utiliserais l'héritage
Euh, pourrais tu donner plus d'explication ?
L'héritage des rôles, en gardant l'idée de rester sur une ressource par pdf ?
Je penses personnellement que donner la responsabilité de gérer l'accès aux pdf en fonctions de la requête à un Assert est une bonne pratique.
Ainsi on ne pollue pas l'acl de ressources de même type.
D'ailleurs je ne vois à l'heure actuelle pas de meilleur opportunité pour utilisé une assertion.
Merci pour vos réponses.
Hors ligne
L'héritage de ressource, c'est pas être utile aussi.
Je ne comprends pas ce que tu veux dire par "polluer l'acl", ca n'a aucun sens pour moi.
On a un role, une ressource et le but est de tester des droits, je vois vraiment pas en quoi c'est compliqué de faire cela.
Perso, j'utilise les asserts pour des cas plus complex ou différent de la philosophie classique (role -> resource -> action). L'exemple typique est celui montré dans la doc du ZF, testé une adresse IP.
Mais chacun être libre
Hors ligne
Re,
Merci pour ces précisions,
En effet, l'héritage peut être très intéressant !
D'autre part en ce qui concerne les assert, je suis d'accord sur le fait de les utiliser pour des cas précis, mais mon cas en fait parti, car beaucoup d'arguments rentrent en compte.
Merci
Hors ligne
Pages: 1