Redirection dans un Listener

Le problème exposé dans ce sujet a été résolu.

Bonjour,

J'essaye de faire une redirection dans un Listener. En gros j'ai deux pages de login un pour mobile et un pour PC. Je voudrais donc qu'en cas de succès ou erreur l'or de l'entrée des identifiants, l'user soit redirigé au bonne endroit.

 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
<?php
// AuthenticationListener.php

namespace Acme\UserBundle\Listener;

use Symfony\Component\Security\Core\Event\AuthenticationFailureEvent;
use Symfony\Component\Security\Http\Event\InteractiveLoginEvent;
use Symfony\Component\Routing\Router;
use Symfony\Component\HttpFoundation\RedirectResponse;

class AuthenticationListener
{
    protected $router;

    public function __construct(Router $router)
    {
        $this->router = $router;
    }

    public function onAuthenticationFailure(AuthenticationFailureEvent $event)
    {
        if(preg_match("/m\/login/", $_SERVER['HTTP_REFERER'])){
            // var_dump('Hello'); die();
            return new RedirectResponse($this->router->generate('mobile_login'));
        }
    }

    public function onAuthenticationSuccess(InteractiveLoginEvent $event)
    {
        if(preg_match("/m\/login/", $_SERVER['HTTP_REFERER'])){
           return new RedirectResponse($this->router->generate('mobile_home'));
        }
    }
}

Le code marche, donc si je décommente la ligne 23 j'ai bien un Hello quand il faut. En sommes tout marche sauf la redirection, il s'en fout. Quoi qu'il arrive il redirige tout seul sur /login. Je n'ai pas d'erreur, rien !

Donc comment faire une redirection dans un listerner, car j'ai tout essayé.

Merci

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte