Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 26-02-2010 10:13:26

Rei Itchido
Membre
Date d'inscription: 13-05-2009
Messages: 11

Addition de droits

Bonjour à tous,

Je veux mettre en place un système de droits sur des ressources (affichage ou non de liens) mais je n'arrive pas à trouver d'exemple sur les ACL qui ressemblent à ce que je veux faire.

Comme je ne me suis jamais servi des ACL voilà comment j'ai compris que ça fonctionnait :

Il y a des rôles :
- "Admin"
- "User lambda"

Et des ressources :
- "gestion des users"

Et les ACL donnent :
- un "Admin" peut "ajouter un user", "modifier un user"
- un "User lambda" peut "modifier un user" mais pas "ajouter un user"

Dans une gestion via une table on aurait donc la table user avec un champs role et pour chaque user "admin" ou "user lambda".
Et lors de l'identification, on obtient le rôle de l'user grâce à Zend_Auth et on le passe à l'objet Zend_Acl.

Ainsi, dans ma page "gestion des users", des liens ("ajouter un user", "modifier un user") s'affichent ou non.

J'ai bon? smile

Mon cas est un peu différent. Je n'ai pas de rôles dans ma table, mais des droits.
Ma table user ressemble à ceci :
id | nom | ajouter | modifier
Et pour un user donné, il peut avoir ajouter + modifier ou juste ajouter ou juste modifier ou rien. Un user n'a pas de rôle défini.

Et donc lors de l'identification on obtient pas le rôle de l'user mais ses droits.
Et c'est là que n'arrive pas à rejoindre la logique que j'ai décrite au-dessus. Car en fait, les droits sont déjà établi dans la table. Je ne sais même pas si ça peut s'appliquer à Zend_ACL.

Et donc ma question :
comment je gère ma page "gestion des users" avec les liens "ajouter un user" et "modifier un user" qui s'affichent ou pas? Avec Zend_Acl ou je regarde l'"identity" de Zend_Auth? Car j'ai l'impression que ma table gère elle-même les Acl en fait...

Vous l'aurez compris, je suis un peu perdu smile
Merci d'avance pour votre aide

Hors ligne

 

#2 26-02-2010 13:19:10

ubini
Membre
Lieu: gillarens/Suisse
Date d'inscription: 23-01-2008
Messages: 110
Site web

Re: Addition de droits

Fais au plus simple et oublie Zend_ACL si tu n'en as pas réellement besoin... un simple if() sera plus efficace dans ton cas. Tu peux le faire dans ton objet "utilisateur" comme ça si ton application évolue tu n'auras pas à tout réécrire et juste à linker les ACL avec la fonction de ton objet.

Dernière modification par ubini (26-02-2010 13:27:01)


http://www.easyswap.org - site d'échange de biens et de services conçu avec jQuery et Zend Framework
http://www.lambelet.net - mon blog perso et inutile

Hors ligne

 

#3 26-02-2010 13:32:10

Rei Itchido
Membre
Date d'inscription: 13-05-2009
Messages: 11

Re: Addition de droits

Donc dans ma page "Gestion des users" je vérifie si l'identity de l'auth a "hasDelete" pour afficher ou non le lien pour supprimer un user...
Mais alors je dois faire la même vérification dans l'action delete de mon controller user? Et rediriger si il n'a pas le droit d'accès?

Hors ligne

 

#4 26-02-2010 14:08:08

ubini
Membre
Lieu: gillarens/Suisse
Date d'inscription: 23-01-2008
Messages: 110
Site web

Re: Addition de droits

Oui. Maintenant, j'essaye toujours de le mettre au niveau le plus bas. Si c'est ton objet utilisateur qui appel le formulaire, tu peux mettre ton verrou ici et générer une erreur si l'utilisateur n'a pas les droits nécessaires. Comme ça ton controller ne pourra de toute façon pas valider ce formulaire, ni pour l'affichage ni pour le traitement.


http://www.easyswap.org - site d'échange de biens et de services conçu avec jQuery et Zend Framework
http://www.lambelet.net - mon blog perso et inutile

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