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 :

Redirection en cas d'erreur d'authentification


Sujet :

Symfony PHP

  1. #1
    Membre éclairé

    Inscrit en
    Novembre 2008
    Messages
    418
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 418
    Points : 828
    Points
    828
    Par défaut Redirection en cas d'erreur d'authentification
    Toujours dans mon bundle de sécurité...

    Je voudrais que lorsqu'une erreur d'authentification est déclenchée,
    je sois rerouté vers une page de "logout" et pas vers la page de login.

    Je pensais qu'en changeant le securite.yml comme ceci, cela fonctionnerait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    security:
        firewalls:
            logout:
                pattern:  ^/logout$
                security: false
     
            secured_area:
                pattern: ^/
                user_provider_service: true
                form_login:
                    login_path: /login
                    check_path: /login_check
                    failure_path: /logout
    avec, évidemment, la route qui convient définie dans le routing.yml

    Pour faire planter l'authentification je lance une exception

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    class AuthProvider implements AuthenticationProviderInterface
    {
    //...
        public function authenticate(TokenInterface $token)
        {
            throw new BadCredentialsException('Bad credentials :)');
        }
    //...
    Mais je suis renvoyé sur ma page de login.

    Le code complet est ici : (à la petite modification ci-dessus près)

    bundle-dauthentification-solution-complete

    Merci pour vos suggestions...

  2. #2
    Membre habitué
    Homme Profil pro
    Chef d'entreprise
    Inscrit en
    Mai 2011
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef d'entreprise
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2011
    Messages : 122
    Points : 169
    Points
    169
    Par défaut
    Bonjour,

    Le failure_path est par défaut à "null" or, lors de la déclaration de ton service "user.security.authentication.listener", tu as 4 arguments, le 5° étant les options qui se trouvent être par défaut un tableau vide dans le constructeur de ton listener. Mais c'est dans ces options que doit être placé le chemin correspondant au fameux failure_path, sinon, tu es comme tu l'as constaté renvoyé vers le page /login.

  3. #3
    Membre éclairé

    Inscrit en
    Novembre 2008
    Messages
    418
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 418
    Points : 828
    Points
    828
    Par défaut
    Merci pour cette info.
    Par contre, dans ce cas, il faut passer le failure path dans les arguments du services.yml et là, je ne sais pas comment faire...
    Cette option est bien initialisée dans le security.yml. Comment puis-je la passer ?
    Y a-t-il une syntaxe du genre %security.firewalls.secured_area.form_login.failure_path% ?

    Ou faut-il procéder autrement ? Je ne vois pas du tout comment passer ce paramètre.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    # Acme/SecurityBundle/Resources/config/services.yml
     
    services:
         user.security.authentication.listener:
            class:  Acme\SecurityBundle\Security\Authentication\Firewall\AuthListener
            arguments: [@security.context, @security.authentication.manager, @security.authentication.session_strategy, @security.http_utils]

Discussions similaires

  1. Réponses: 1
    Dernier message: 24/11/2011, 15h29
  2. Problème de redirection en cas d'erreur
    Par arno15 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 23/11/2010, 15h10
  3. Réponses: 7
    Dernier message: 15/03/2005, 14h44
  4. Redirection et code d'erreur.
    Par ggnore dans le forum Linux
    Réponses: 4
    Dernier message: 08/11/2004, 10h25
  5. Redirection en cas d'erreur sur una page
    Par PrinceMaster77 dans le forum ASP
    Réponses: 2
    Dernier message: 03/09/2004, 09h18

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