Bonjour tout le monde,
Je suis bloqué sur une partie qui peut paraitre simple, mais qui me complique la vie. Je suis en train d'utiliser FOSUserBundle dans mon projet Symfony 4. J'aimerai qu'à chaque fois un utilisateur tente de s'authentifier sur le site, soit rediriger directement sur la homepage de la page, c'est-à-dire la racine de mon site "/".
Dans mon firewall, j'ai fais ça:
Code yaml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 main: pattern: ^/ context: user form_login: provider: fos_userbundle login_path: /login use_forward: false check_path: /login_check failure_path: null default_target_path: ~ always_use_default_target_path: false use_referer: false logout: path: /logout target: /login anonymous: true remember_me: secret: '%kernel.secret%' name: rememberme lifetime: 31536000 path: / domain: ~
J'ai ajouté ma route:
Code yaml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 homepage: path: / controller: App\Controller\DefaultController::indexAction
Dans mon controller DefaultController, j'ai ajouté une fonction qui permet de vérifier si l'utilisateur est authentifié ou pas, afin de protéger cette page :
Et de meme sur le SecurityController :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 public function indexAction() { if ($this->get('security.authorization_checker')->isGranted('IS_AUTHENTICATED_FULLY')) { return $this->redirect($this->generateUrl('homepage')); }else{ return $this->redirect($this->generateUrl('fos_user_security_login')); } }
Sauf que là quand j'exécute mon projet, et que je m'authentifie, il me dirige tout le temps sur ma route /profile
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 if ($this->get('security.authorization_checker')->isGranted('ROLE_USER')) { return $this->redirectToRoute('homepage'); }
Quand j'essai de retourner à la page /login, normalement il devrait m'emmener à la route homepage ("/"), sauf que là il reste planter et me sort l'erreur too many redirection et il charge à plusieur fois la homepage:
ça reste comme ça à l'infini. D'où vient le problème?
Partager