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 :

Config du security.yml


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 73
    Par défaut Config du security.yml
    Bonjour,

    Je développe une application sous Symfony 3.4.3 et je rencontre quelques problèmes sur la gestion des rôles et accès des utilisateurs.

    Cette application a besoin d'une authentification pour y accéder (en gros la page d’accueil est la page de login, une fois connecté on a accès à toute les pages). J'utilise FOS UserBundle pour la gestion d'utilisateur.


    Voici mon problème, dans mon security.yml :
    - si j'accepte les anonymes : on a accès à la page de /login et ma page /dashboard on peut y accédé en tant que connecté et anonyme.
    - si je refuse les anonymes : on n'a plus accès à la page login et ma page dashboard non plus puisqu'il faut être connecté.

    J'ai peut-être loupé une config, quelqu'un peut m'éclairer ?

    Voici mon security.yml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    security:
        encoders:
            FOS\UserBundle\Model\UserInterface: bcrypt
        role_hierarchy:
            ROLE_ADMIN:       ROLE_USER
            ROLE_SUPER_ADMIN: ROLE_ADMIN
        # https://symfony.com/doc/current/security.html#b-configuring-how-users-are-loaded
        providers:
            fos_userbundle:
                id: fos_user.user_provider.username
     
        firewalls:
            # disables authentication for assets and the profiler, adapt it according to your needs
            dev:
                pattern: ^/(_(profiler|wdt)|css|images|js)/
                security: false
     
            main:
                pattern: ^/
                provider: fos_userbundle
                form_login:
                    login_path: fos_user_security_login
                    csrf_token_generator: security.csrf.token_manager
                    always_use_default_target_path : true
                    default_target_path: core_dashboard
                    use_referer : true
                    check_path: fos_user_security_check
                logout:
                    path: fos_user_security_logout
                logout_on_user_change: true
                anonymous:    true
     
        access_control:
            - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
            - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
            - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
            - { path: ^/dashboard, role: ROLE_USER }

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2013
    Messages
    739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2013
    Messages : 739
    Par défaut
    on peut tout simplement mettre pour dashboard le RÔLE_ADMIN .
    on peux aussi restreindre l'accées à quelques action contrôleur avec les rôles

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 73
    Par défaut
    Merci pour ta réponse.

    Pour ton 1er point c'est ce que j'ai mis en place la page /dashboard est accessible pour les utilisateur qui ont le ROLE_ADMIN. Mais dans mon firewall j'ai les anonymous qui sont activé (true).
    Du coup la page /dashboard est accessible pour les utilisateur connecté avec le ROLE_ADMIN et les anonymous (je souhaites uniquement les ROLE_ADMIN). Si je mets anonymous à false mes pages de login sont inaccessible (donc impossible de se connecter et impossible d'aller sur la page /dashboard).

    Pour ton 2e point j'ai un peu de mal à saisir ce que tu souhaites me dire, tu peux détailler un peu plus ?

  4. #4
    Membre émérite
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2013
    Messages
    739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2013
    Messages : 739
    Par défaut
    en jetant un œil à la doc je crois que tu va trouver la meilleur solution.
    https://symfony.com/doc/current/security.html

Discussions similaires

  1. [Symfony] fichier security.yml
    Par MR-SMOOT dans le forum Débuter
    Réponses: 1
    Dernier message: 26/04/2016, 23h39
  2. problème fichier security.yml
    Par MR-SMOOT dans le forum Symfony
    Réponses: 2
    Dernier message: 05/04/2016, 14h02
  3. Réponses: 2
    Dernier message: 18/02/2016, 14h16
  4. [2.x] Problème check_path security.yml
    Par Cibou dans le forum Symfony
    Réponses: 15
    Dernier message: 03/10/2012, 14h47
  5. [1.x] filtres et security.yml
    Par thecanea dans le forum Symfony
    Réponses: 2
    Dernier message: 23/04/2010, 15h22

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