src/Controller/SecurityController.php line 24

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use Doctrine\Persistence\ManagerRegistry;
  4. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  5. use Symfony\Component\HttpFoundation\Request;
  6. use Symfony\Component\Routing\Annotation\Route;
  7. use Symfony\Component\Security\Http\Authentication\AuthenticationUtils;
  8. class SecurityController extends AbstractController
  9. {
  10. private ManagerRegistry $doctrine;
  11. public function __construct(ManagerRegistry $doctrine)
  12. {
  13. $this->doctrine = $doctrine;
  14. }
  15. /**
  16. * @Route("/", name="homepage")
  17. * @return \Symfony\Component\HttpFoundation\Response
  18. */
  19. public function homepage()
  20. {
  21. return $this->redirectToRoute('reservation_home');
  22. }
  23. /**
  24. * @Route("/login", name="login")
  25. * @param AuthenticationUtils $authenticationUtils
  26. *
  27. * @return \Symfony\Component\HttpFoundation\Response
  28. */
  29. public function login(AuthenticationUtils $authenticationUtils, Request $request)
  30. {
  31. $error = $authenticationUtils->getLastAuthenticationError();
  32. $lastUsername = $authenticationUtils->getLastUsername();
  33. // TODO: confrontarsi con Matteo per capire se va bene
  34. $user = "anon.";
  35. $messaggioError = null;
  36. $messaggioSuccess = null;
  37. if ($this->get('security.token_storage')->getToken() != null) {
  38. $user = $this->get('security.token_storage')->getToken()->getUser();
  39. $request->get('messaggioError') ? $messaggioError = $request->get('messaggioError') : $messaggioError = null;
  40. $request->get('messaggioSuccess') ? $messaggioSuccess = $request->get('messaggioSuccess') : $messaggioSuccess = null;
  41. }
  42. if ($request->get('canc') and $user != "anon.") {
  43. return $this->redirectToRoute('app_logout');
  44. } else {
  45. return $this->render('security/login.html.twig', [
  46. 'last_username' => $lastUsername,
  47. 'messaggioError' => $messaggioError,
  48. 'messaggioSuccess' => $messaggioSuccess,
  49. 'error' => $error,
  50. ]);
  51. }
  52. }
  53. }