duanfen7676 2015-11-13 10:30
浏览 15
已采纳

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?

  • 写回答

1条回答 默认 最新

  • dongzheng3113 2015-11-13 10:38
    关注

    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>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部