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 :

Gestion des droits ADMIN [2.x]


Sujet :

Symfony PHP

  1. #1
    Membre du Club
    Femme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 71
    Points : 45
    Points
    45
    Par défaut Gestion des droits ADMIN
    Bonjour,

    Dans ma base de donnée j'ai actuellement 2 membres respectivement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    elo role : ADMIN
    toto role : ROLE_USER
    lorsque je suis connectée en tant que elo je suis normalement en admin.
    Sauf que lorsque je tape :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if($this->get('security.context')->isGranted('ROLE_ADMIN') )
    {
    	echo "c'est un admin";
    }
    else
    {
    	echo "ce n'est pas un admin";
    }
    il me retourne toujours "ce n'est pas un admin".

    J'ai essayé de changer ROLE_ADMIN en ADMIN, cela ne marche toujours pas.

    Je ne sais plus quoi faire...

    Merci d'avance

  2. #2
    Inscrit
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    319
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 319
    Points : 476
    Points
    476
    Par défaut
    Salut,

    Déjà il faut bien nommer tes rôles en commencant par ROLE_.

    Ensuite, comment sont stockés tes rôles ? Es-tu sûr qu'ils sont bien récupérés ? Tu dois pouvoir les récupérer en faisant $user->getRoles()

  3. #3
    Membre du Club
    Femme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 71
    Points : 45
    Points
    45
    Par défaut
    Merci

    lorsque je fais $users->getRoles()
    je vois que elo est en role : "ADMIN"

    Comment et ou je peux voir ou sont stockés mes roles ? dans security.yml ?

  4. #4
    Inscrit
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    319
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 319
    Points : 476
    Points
    476
    Par défaut
    Je sais pas tu utilises quoi pour tes membres, FOSUserBundle ? Si oui les rôles sont dans l'attribut roles il me semble.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    383
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 383
    Points : 658
    Points
    658
    Par défaut
    Pourquoi tester "ROLE_ADMIN" alors que ton role est "ADMIN" ?
    Un petit si la réponse convient. Merci.

  6. #6
    Membre du Club
    Femme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 71
    Points : 45
    Points
    45
    Par défaut
    Oui je suis avec FOSUserBundle. Mais meme en faisant ADMIN cela ne marche pas, alors que en faisant une restriction sur les USER cela marche...

  7. #7
    Membre du Club
    Femme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 71
    Points : 45
    Points
    45
    Par défaut
    En faite si je met elo en role SUPER_ADMIN et que je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    {% if is_granted('ROLE_ADMIN') %}
    	Je suis un admin
    {% endif %}
     
    {% if is_granted('ROLE_SUPER_ADMIN') %}
    	Je suis un super admin
    {% endif %}
    Il m'affiche Je suis un admin et Je suis un super admin

    Alors que lorsque elo est en role ADMIN il ne m'affiche rien

    Je n'y comprend plus rien du coup :s

  8. #8
    Membre du Club
    Femme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 71
    Points : 45
    Points
    45
    Par défaut
    Probleme resolu en faite c'est la commande que je n'executais pas bien, donc il m'enregistrais dans la base de donnée en tant que ADMIN et non ROLE_ADMIN

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

Discussions similaires

  1. [MySQL] Gestion des droits d'accès sur admin
    Par CedriZero dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 28/02/2013, 11h10
  2. quel SGBD possible pour telle gestion des droits
    Par meufeu dans le forum Décisions SGBD
    Réponses: 11
    Dernier message: 14/04/2005, 09h17
  3. gestion des droits d'accès : pg_hda.conf et autres
    Par Pigoulou dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 12/02/2005, 07h57
  4. Gestion des droits
    Par totop dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 22/01/2005, 09h49
  5. Gestion des droits d'accès
    Par soulryo dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 12/01/2005, 10h50

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