src/Controller/SecurityController.php line 19

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'/'name'app')]
  10.     public function default(): Response
  11.     {
  12.         return $this->redirectToRoute('app_login');
  13.     }
  14.     #[Route(path'/login'name'app_login')]
  15.     public function login(AuthenticationUtils $authenticationUtils): Response
  16.     {
  17.         if ($this->getUser()) {
  18.             if ($this->isGranted('ROLE_ADMIN')) {
  19.                 return $this->redirectToRoute('admin_admin_default');
  20.             }elseif($this->isGranted('ROLE_FACTORY')){
  21.                 return $this->redirectToRoute('factory_factory_default');
  22.             }elseif($this->isGranted('ROLE_USER')){
  23.                 return $this->redirectToRoute('store_store_default');
  24.             }
  25.         }
  26.         // get the login error if there is one
  27.         $error $authenticationUtils->getLastAuthenticationError();
  28.         // last username entered by the user
  29.         $lastUsername $authenticationUtils->getLastUsername();
  30.         return $this->render('security/login.html.twig', ['last_username' => $lastUsername'error' => $error]);
  31.     }
  32.     #[Route(path'/logout'name'app_logout')]
  33.     public function logout(): void
  34.     {
  35.         throw new \LogicException('This method can be blank - it will be intercepted by the logout key on your firewall.');
  36.     }
  37. }