Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 13-05-2009 11:25:51

squall6969
Membre
Date d'inscription: 14-09-2008
Messages: 90

[Zend 1.7][Zend_Acl] Restreindre en tenant coompte de paramètre

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

 

#2 13-05-2009 11:46:04

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: [Zend 1.7][Zend_Acl] Restreindre en tenant coompte de paramètre

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.


----
Gruiiik !

Hors ligne

 

#3 13-05-2009 18:11:49

squall6969
Membre
Date d'inscription: 14-09-2008
Messages: 90

Re: [Zend 1.7][Zend_Acl] Restreindre en tenant coompte de paramètre

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

 

#4 14-05-2009 09:34:26

ndesaleux
Membre
Date d'inscription: 16-04-2007
Messages: 196
Site web

Re: [Zend 1.7][Zend_Acl] Restreindre en tenant coompte de paramètre

J'utiliserai l'assertion pour un cas comme le tien, car moins galère à gérer que de créer une ressource pour chaque document.

Hors ligne

 

#5 14-05-2009 09:59:50

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: [Zend 1.7][Zend_Acl] Restreindre en tenant coompte de paramètre

Moi, j'utiliserais l'héritage


----
Gruiiik !

Hors ligne

 

#6 14-05-2009 13:41:58

squall6969
Membre
Date d'inscription: 14-09-2008
Messages: 90

Re: [Zend 1.7][Zend_Acl] Restreindre en tenant coompte de paramètre

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

 

#7 14-05-2009 21:18:09

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: [Zend 1.7][Zend_Acl] Restreindre en tenant coompte de paramètre

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


----
Gruiiik !

Hors ligne

 

#8 14-05-2009 22:06:30

squall6969
Membre
Date d'inscription: 14-09-2008
Messages: 90

Re: [Zend 1.7][Zend_Acl] Restreindre en tenant coompte de paramètre

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

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages