src/Controller/SecurityController.php

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  4. use Symfony\Component\HttpFoundation\Response;
  5. use Symfony\Component\Routing\Annotation\Route;
  6. use Symfony\Component\Security\Http\Authentication\AuthenticationUtils;
  7. class SecurityController extends AbstractController
  8. {
  9. #[Route(path: '/login', name: 'app_login')]
  10. public function login(AuthenticationUtils $authenticationUtils): Response
  11. {
  12. if ($this->getUser()) {
  13. return $this->redirectToRoute('app_public');
  14. }
  15. // get the login error if there is one
  16. $error = $authenticationUtils->getLastAuthenticationError();
  17. // last username entered by the user
  18. $lastUsername = $authenticationUtils->getLastUsername();
  19. return $this->render('security/login.html.twig', ['last_username' => $lastUsername, 'error' => $error]);
  20. }
  21. #[Route(path: '/logout', name: 'app_logout')]
  22. public function logout(): void
  23. {
  24. throw new \LogicException('This method can be blank - it will be intercepted by the logout key on your firewall.');
  25. }
  26. }