登录引用不起作用

时间:2015-09-15 13:53:04

标签: symfony login symfony-2.3 http-referer

我有以下LoginEventlistener:

public function onSecurityInteractiveLogin(InteractiveLoginEvent $event) {
    if ($this->securityContext->isGranted('IS_AUTHENTICATED_FULLY')) {
        // user has just logged in
        if ($this->session->has('user_media_savings')) {
             //some code  
        }
        $referer_url = $this->container->get('request')->headers->get('referer');
        $response = new RedirectResponse($referer_url);
    }
    return $response;
}

如果我要打电话给受保护的网站,例如www.example.com/secured/index当然symfony2重定向到登录页面。如果我现在登录引用者的输出是登录路由而不是www.example.com/secured/index。

有什么问题?

1 个答案:

答案 0 :(得分:0)

如果在重定向到登录操作的地方设置_security.main.target_path,防火墙将处理重定向到该特定路由本身。

$redirectUrl = $this->get('router')->generate('account', array(), true)
$this->get('session')->set('_security.main.target_path', $redirectUrl);
return $this->redirectToRoute('login');