Symfony2 - AuthenticationSuccessHandler重定向到原始请求

时间:2013-04-29 09:35:44

标签: authentication redirect symfony

我已覆盖AuthenticationSuccessHandler,但我希望将引用重定向行为保持成功。

我看到了默认处理程序uses $request->headers->get('Referer'),我尝试在我的自定义处理程序上执行相同操作:

if (($targetUrl = $request->headers->get('Referer'))
        && $targetUrl !== $this->options['login_path']) {
    die($targetUrl);

返回登录路径:

  

http://my_host/login

而不是原始请求。我认为这是因为防火墙之前已将用户重定向到登录页面。

默认处理程序重定向我很好,所以我想知道为什么我没有。

如何从我的自定义AuthenticationSuccessHandler

获取原始请求

1 个答案:

答案 0 :(得分:2)

你应该看heredetermineTargetUrl就是你所要求的。

添加:它保存会话中的返回路径,然后恢复它(第98行)。如果用户会话中没有返回路径,则处理程序将使用Referer。