src/Controller/SecurityController.php line 16

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. use Symfony\Contracts\Translation\TranslatorInterface;
  8. class SecurityController extends AbstractController
  9. {
  10.     /** 
  11.      * @Route("/", name="homepage")
  12.      */
  13.     public function homepage(AuthenticationUtils $authenticationUtilsTranslatorInterface $translator): Response
  14.     {
  15.         if ($this->getUser()) {
  16.             return $this->redirectToRoute('admin');
  17.         }
  18.         
  19.         return $this->redirectToRoute('app_login');
  20.     }
  21.     /**
  22.      * @Route("/login", name="app_login")
  23.      */
  24.     public function login(AuthenticationUtils $authenticationUtilsTranslatorInterface $translator): Response
  25.     {
  26.         if ($this->getUser()) {
  27.             return $this->redirectToRoute('admin');
  28.         }
  29.         // get the login error if there is one
  30.         $error $authenticationUtils->getLastAuthenticationError();
  31.         // last username entered by the user
  32.         $lastUsername $authenticationUtils->getLastUsername();
  33.         // print_r($error);
  34.         if ($lastUsername) {
  35.             $error $translator->trans('Invalid credentials.', [], 'security');
  36.         }
  37.         return $this->render('security/login.html.twig', ['last_username' => $lastUsername'error' => $error]);
  38.     }
  39.     /**
  40.      * @Route("/logout", name="app_logout")
  41.      */
  42.     public function logout()
  43.     {
  44.         throw new \LogicException('This method can be blank - it will be intercepted by the logout key on your firewall.');
  45.     }
  46. }