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 :

[FOSUserBundle] Firewalls et redirection


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 [FOSUserBundle] Firewalls et redirection
    Bonjour,
    J'utilise le FOSUserBundle.
    J'ai simplement ajouté des firewalls dans mon security.yml (voir mon security.yml plus bas) et lorsque qu'une fois connecté j’essaie d'accéder à l'URL http://localhost/BEL/app_dev.php/back_office/ je suis systématiquement redirigé vers http://localhost/BEL/app_dev.php/login. Quelqu'un aurait une idée de pourquoi ça ?

    Merci d'avance

    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
    39
    40
    41
    # app/config/security.yml
    security:
        providers:
            fos_userbundle:
                id: fos_user.user_manager
     
        encoders:
            'FOS\UserBundle\Model\UserInterface': sha512
     
        firewalls:
          # /!\ L'ordre d'apparition des firewalls importe !!
          # firewall permettant l'accès à la barre de dev
            dev:
                pattern:  ^/(_(profiler|wdt)|css|images|js)/
                security: false
            main_bo:
                pattern: ^/back_office/
                form_login:
                    provider: fos_userbundle
                    csrf_provider: form.csrf_provider
                logout:       true
                anonymous:    false
          # firewall du front office
            main:
                pattern: ^/
                form_login:
                    provider: fos_userbundle
                    csrf_provider: form.csrf_provider
                logout:       true
                anonymous:    true
     
        access_control:
            - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
            - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
            - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
            - { path: ^/admin/, role: ROLE_ADMIN }
            - { path: ^/.*, role: IS_AUTHENTICATED_ANONYMOUSLY }
     
        role_hierarchy:
            ROLE_ADMIN:       ROLE_USER
            ROLE_SUPER_ADMIN: ROLE_ADMIN
    [/HS]

    J'adorerai changer le monde, mais pas moyen de mettre la main sur le code source

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 79
    Points : 82
    Points
    82
    Par défaut
    Hi,

    J'ai le même souci.
    En effet je pense que c'est une redirection du firewall.

    Quand je mets http://address_ip/
    il me redirige sur http://address_ip/login (Page not found)

    Mais pour ne pas avoir d'erreur je saisis
    http://address_ip/app.php

    Et là, ça marche. Ce serait cool d'être automatiquement rediger quand même

    Alors si quelqu'un a une solution ça m'arrangerait aussi.

  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
    J'ai presque réussi à faire ce que je voulais :
    en effet j'arrive à n'accéder à page que lorsque je suis connecté avec un utilisateur disposant des autorisations nécessaire. Seulement j'utilise le firewall main et j'aurais besoin d'utiliser deux firewalls car j'aurais deux parties distinctes dans mon appli disposant de chacune leur formulaire de connexion et chacune leur lot de droits

    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    # app/config/security.yml
    security:
        providers:
            fos_userbundle:
                id: fos_user.user_manager
     
        encoders:
            'FOS\UserBundle\Model\UserInterface': sha512
     
        firewalls:
          # /!\ L'ordre d'apparition des firewalls importe !!
          # firewall permettant l'accès à la barre de dev
            dev:
                pattern:  ^/(_(profiler|wdt)|css|images|js)/
                security: false
            #main_bo:
            #    pattern: ^/(back_office)/
            #    form_login:
            #        provider: fos_userbundle
            #        login_path: /back_office/login
            #        check_path: /back_office/login_check
            #    anonymous:    ~
            #    logout:
            #        path:   /logout
            #        target: /
          # firewall du front office
            main:
                pattern: ^/
                form_login:
                    provider: fos_userbundle
                    login_path: /login
                    check_path: /login_check
                anonymous:    ~
                logout:
                    path:   /logout
                    target: /
     
        access_control:
            - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
            - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
            - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
            - { path: ^/admin/, role: ROLE_ADMIN }
            - { path: ^/back_office/, role: ROLE_USER }
            - { path: ^/.*, role: IS_AUTHENTICATED_ANONYMOUSLY }
     
        role_hierarchy:
            ROLE_ADMIN:       ROLE_USER
            ROLE_SUPER_ADMIN: ROLE_ADMIN
    [/HS]

    J'adorerai changer le monde, mais pas moyen de mettre la main sur le code source

Discussions similaires

  1. [2.x] FOSUserBundle redirection après erreur de login
    Par seriux55 dans le forum Symfony
    Réponses: 0
    Dernier message: 08/05/2015, 18h04
  2. Réponses: 3
    Dernier message: 02/07/2014, 13h17
  3. [2.x] [FosUserBundle] redirection après un enregistrement
    Par dukoid dans le forum Symfony
    Réponses: 1
    Dernier message: 23/07/2013, 01h33
  4. [2.x] [fosUserBundle] redirection dynamique après login
    Par dukoid dans le forum Symfony
    Réponses: 8
    Dernier message: 23/05/2013, 19h38
  5. Firewall gratuit permettant la redirection de port
    Par sinok dans le forum Sécurité
    Réponses: 1
    Dernier message: 31/08/2006, 15h25

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