Symfony的动态注销目标


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>