I have implemented a basic authentication system using symfony framework. It is working as expected. But I would like to have one more feature.
After logout
, I should be redirected to previous location. I followed following question for implementing this feature.
Symfony2 Dynamic Logout Target?
But it is giving me one error message.
Unable to generate a URL for the named route "dynamic_route_name" as such route does not exist.
Any Idea, why this is happening?
I assume you have used the following code from the example post
return new RedirectResponse($this->container->get('router')->generate('dynamic_route_name'));
This expects the route dynamic_route_name
to exist, which wouldn't really take you to the previous page, but to a static route (where you can do all sorts of tricks in the controller if you want to)
Instead you can rather try the second answer and use
$target_url = $request->query->get('target_url')
? $request->query->get('target_url')
: "/";
return new RedirectResponse($target_url);
Where target_url
is the route you want to redirect to (set in the template to the current route) or any other logic you can use to determine which page to go to
To redirect to current page after logout, you may set logout link as follows:
<a href="{{ path('logout', {'target_url': app.request.uri}) }}">Logout</a>