Symfony2 redirect for event listener?

后端 未结 5 829

I have a kernel event listener setup (kernel.controller) to redirect the user if hes not logged in. The event listener is succefully getting called, however im having troubl

5条回答
  •  情书的邮戳
    2020-12-05 01:05

    You can't set a response to a FilterControllerEvent object. You need to listen for the kernel.request event because its GetResponseEvent object has the setResponse() method:

    $route = 'route_name';
    
    if ($route === $event->getRequest()->get('_route')) {
        return;
    }
    
    $url = $this->router->generate($route);
    $response = new RedirectResponse($url);
    $event->setResponse($response);
    

提交回复
热议问题