Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
Je me demande comment stocker les différents droits qui correspondent à chaque utilisateur.
Je me disais que lorsque l'utilisateur se logge il suffit d'aller chercher ces droits les autres ne nous intéresse pas mais comment stocker sa dans une base de données ?? Est-ce que quelqu'un a déjà essayer ?
Merci d'avance.
Hors ligne
C'est ce que j'ai fait pour ma part, mais du coup je n'utilise pas la classe Zend_Acl. J'ai simplement fait une petite classe qui se charge de récupérer les droits de l'utilisateur, et dans mes init() de controller je vérifie que mon user a bien les droits qui vont bien. C'est hachement plus simple que Zend_Acl je trouve ^^
Hors ligne
Bonjour Yoteco,
La sauvegarde de tes droits en base dépend énormément de ton site. Supposons un forum où tu peux être visiteur, membre ou admin, tu peux faire une table avec les colonnes suivantes :
* profil
* controller
* action
si un admin a le droit de tout faire sur le controlleur forum, tu mets :
admin | forum | null
si un visiteur a juste le droit de lire (et que l'action de lire les messages c'est readAction)
visitor | forum | read
Tu crées tes rôles : admin, visitor, member
Tu crées tes ressources : une par controlleur
Tu crées tes droits à partir de ta table (il faut le faire automatiquement...)
$acl->allow("visitor","forum","read"); $acl->allow("admin","forum");
après tu interroge tes ACL pour vérifier les accès.
C'est juste un exemple sur un cas simple, mais ça dépend bcp de ton appli.
A+, Philippe
Hors ligne