It may not be the best or right way to do this, but it was the only way to understand it.
In my loginAction method, I do this (see the $ protected variable). If the user session is authenticated, I redirect it to the homepage / index. I do not know how to do this using the firewall configuration, because I do not believe that a firewall will be installed on the login page.
/** * @Route("/login", name="login") * @Template() */ public function loginAction() { $request = $this->getRequest(); $session = $request->getSession(); // if the session is secured (user is logged in) // then $secured will be an object with various user information. $secured = unserialize($session->get('_security_secured')); if ($secured) { return $this->redirect($this->generateUrl('home')); } // get the login error if there is one if ($request->attributes->has(SecurityContext::AUTHENTICATION_ERROR)) { $error = $request->attributes->get(SecurityContext::AUTHENTICATION_ERROR); } else { $error = $session->get(SecurityContext::AUTHENTICATION_ERROR); } return array( 'last_username' => $session->get(SecurityContext::LAST_USERNAME), 'error' => $error, 'embed' => $request->isXmlHttpRequest() ); }
source share