Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
J'aimerais savoir s'il est possible qu'un objet demandeur (par exemple un utilisateur) puisse avoir plusieurs rôles (par exemple modérateur et ) sans notion d'héritage entre eux.
L'interface Zend_Acl_Role_Interface ne propose à la méthode getRoleId() le renvoi que d'une seule valeur, ce qui me semble très limité en soit. La méthode isAllowed() n'accepte qu'un paramètre ne proposant qu'un seul rôle de même, tout comme l'aide de vue Navigation qui n'accepte également qu'un seul rôle à la fois.
Si l'on a, au sein d'une appli, une objet demandeur qui possèdent deux ou plusieurs rôles bien distincts sans aucune règle d'héritage (par exemple modérateur et ), il y a t-il un moyen de pouvoir gérer les deux à la fois ?
Hors ligne
Salut,
Pour répondre à cette problématique j'ai géré distinctement des groupes de droits et des rôles qui sont une addition de droits.
Par exemple, je gère un site de photo, sur ce site deux types de membres peuvent ajouter des photo, des membres (amateur) et des photographes (pro), ils ont chacun tous les droits d'un inscrit mais possèdent des spécificités. Un photographe pourra par exemple ajouter aussi des séances de shooting (mais pas les membres amateurs).
Je découperais donc les acl comme suit :
Rôles génériques :
inscrit: ajout/edition photo
pro: ajout/edition shooting
modo: des droits spécifiques modo
Rôles utilisés comme roleId :
membre = inscrit
photographe = inscrit + pro
modo_membre = membre + modo
modo_photographe = photographe + modo
modo = modo_membre + modo_photographe
C'est un exemple vite fait, ce serait certainement plus complexe dans un contexte réel, mais l'idée est là.
A+ benjamin.
Hors ligne
Salut,
Et merci pour la réponse apportée :-)
Si de nombreux rôles sont amenés à se croiser ainsi ça fait pas mal de nouveaux rôles à créer...
En tout cas c'est une solution qui a le mérite de régler le problème.
Hors ligne
Pages: 1