bonjour je veu récupére le nom de la permission du personne connecté par exemple pour récupére le nom du personne connécte
et pour la permission ? merci ;)Code:echo "<b>".$sf_user->getGuardUser()->getUserName();
Version imprimable
bonjour je veu récupére le nom de la permission du personne connecté par exemple pour récupére le nom du personne connécte
et pour la permission ? merci ;)Code:echo "<b>".$sf_user->getGuardUser()->getUserName();
Une personne peut avoir plusieurs permissions donc la méthode c'est :
qui va te retourner une Doctrine_Collection et donc il faut la traiter comme ceci :Code:$sf_user->getPermissions()
Code:
1
2
3
4 foreach($sf_user->getPermissions() as $permission) { echo $permission->getName(); }
Attention !
Partant sur le principe que tu te base sur sfGuard pour gérer la sécurité.
Cette méthode, juste sur le plan syntaxique ne va pas retourner toutes les permissions d'une personne, elle ne va retourner que les permissions directement attachées à cette personne, pas celle issues des groupes auquel la personne appartiens.
Je ne vois pas trop l'intérêt de récupérer les permissions d'une personne. En général on va plutôt tester s'il a une permission en particulier, on utilisera pour cela la méthode ->hasCredential('leDroitQueJeTeste')
Si malgré tout tu veux avoir la liste des permissions de ton user, utilise alors la méthode ->hasPermissions() qui te retournera toutes les permissions du user sous forme d'une Doctrine_Collection.
Attention, si l'utilisateur est super adminitrateur cela peut influencer (->isSuperAdmin() )
Et un test particulier, le ->hasPermission('leDroitQueJeTeste') un peu différente du hasCredential. Le précédent peut tester plusieurs droits simultanément, ici un seul, le précédent retourne toujours vrai si l'utilisateur est surper admin, ici il n'en tient pas compte.
Désolé, je pensais que le plugin géré le retour de toutes les permissions mêmes celles obtenues grâce à un groupe.