IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Roles et autorisations [2.x]


Sujet :

Symfony PHP

  1. #1
    Membre habitué Avatar de magicbisous-nours
    Inscrit en
    Octobre 2005
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 277
    Points : 177
    Points
    177
    Par défaut Roles et autorisations
    Bonjour,
    Je développe une application dont les utilisateurs peuvent avoir plusieurs rôles :
    - ROLE_SUPER_ADMIN
    - ROLE_ADMIN
    - ROLE_RESPONSABLE
    - ROLE_GESTIONNAIRE

    J'aimerais autoriser l'accès à une action à quelqu'un qui aurait n'importe lequel de ces rôles (pas nécessairement tous).
    J'ai donc fait ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    use JMS\SecurityExtraBundle\Annotation\PreAuthorize;
    [...]
     
    /**
         * @Route("/", name="utilisateurs")
         * @Template()
         * @PreAuthorize("hasAnyRole('ROLE_SUPER_ADMIN', 'ROLE_ADMIN', 'ROLE_RESPONSABLE', 'ROLE_GESTIONNAIRE')")
         */
        public function indexAction() {
    Mais quand j'essaie d'accéder à cette action avec un utilisateur ayant le rôle ROLE_RESPONSABLE, j'ai une erreur Access Denied.

    Quelqu'un aurait une explication ou pourrait me dire comment je peux faire ce que je veux ?

    Merci d'avance

  2. #2
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2012
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Essaye avec l'annotation @Secure()
    Comme ceci

    use JMS\SecurityExtraBundle\Annotation\Secure;

    puis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    /**
     * @Secure(roles="ROLE_ADMIN")
     * @Secure(roles="ROLE_RESPONSABLE")
     * @Secure(roles="ROLE_FOO")
     */
    Je sais pas si ca fonctionne avec plusieurs ROLE.

    Une question pourquoi tu utilises preAuthorize et pas simplement Secure?

  3. #3
    Membre habitué Avatar de magicbisous-nours
    Inscrit en
    Octobre 2005
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 277
    Points : 177
    Points
    177
    Par défaut
    Merci mais entre-temps j'ai réussi à faire ce que je voulais de cette manière :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #app/config/security.yml
    access_control:
    [...]
            - { path: ^/back_office/.*, roles: [ROLE_SUPER_ADMIN, ROLE_ADMIN, ROLE_RESPONSABLE, ROLE_GESTIONNAIRE] }
     
        role_hierarchy:
            ROLE_LOCATAIRE:    ROLE_USER
            ROLE_GESTIONNAIRE: ROLE_USER
            ROLE_RESPONSABLE:  ROLE_USER
            ROLE_ADMIN:        ROLE_USER
            ROLE_SUPER_ADMIN:  ROLE_ADMIN
    Les rôles n'héritent pas les uns des autres car ils ont simplement des droits différents (au sein de cette URL).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Authentification et autorisation avec roles
    Par ayasaidi dans le forum Développement Web en Java
    Réponses: 6
    Dernier message: 31/12/2013, 10h43
  2. [10G R1] Roles et autorisations
    Par Fabien Celaia dans le forum Oracle
    Réponses: 11
    Dernier message: 16/11/2005, 08h43
  3. [Sécurité] Roles
    Par Mister Nono dans le forum Débuter
    Réponses: 4
    Dernier message: 06/12/2003, 11h55
  4. Creer un role au niveau server
    Par Mouse dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 01/05/2003, 15h56
  5. [TForm] Ne pas autoriser l'ouverture d'un form
    Par sbeu dans le forum Composants VCL
    Réponses: 6
    Dernier message: 11/10/2002, 11h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo