src/Controller/HomeController.php line 13

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Service\UserRedirectionService;
  4. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  5. use Symfony\Component\HttpFoundation\Response;
  6. use Symfony\Component\Routing\Annotation\Route;
  7. class HomeController extends AbstractController
  8. {
  9.     #[Route('/'name'app_home'methods: ['GET'])]
  10.     public function index(UserRedirectionService $redirectionService): Response
  11.     {
  12.         // Si l'utilisateur est connecté, le rediriger selon son rôle
  13.         if ($this->getUser()) {
  14.             $user $this->getUser();
  15.             
  16.             // Redirection simple et sûre selon le rôle
  17.             if (in_array('ROLE_ADMIN'$user->getRoles())) {
  18.                 return $this->redirectToRoute('app_dashboard_index');
  19.             }
  20.             
  21.             if (in_array('ROLE_MANAGER'$user->getRoles())) {
  22.                 return $this->redirectToRoute('app_dashboard_index');
  23.             }
  24.             
  25.             // Pour les utilisateurs normaux, rediriger vers leurs missions
  26.             return $this->redirectToRoute('app_mission_my_missions');
  27.         }
  28.         // Si l'utilisateur n'est pas connecté, afficher la page d'accueil publique
  29.         return $this->render('home/index.html.twig');
  30.     }
  31. }