Lorsque le formulaire d'authentification est affiché sur une vue qui lui est propre, il est d'usage, une fois l'usager authentifié, de retourner le contrôle à la page qui était affichée avant l'authentification.
Le problème, c'est qu'on ne peut pas retrouver cette page simplement avec back() puisque la page qui était affichée avant la requête POST qui vérifie l'authentification est... la page d'authentification. Il faudrait reculer de deux niveaux pour retrouver la bonne page.
Une astuce pour retenir la page qui était affichée avant le formulaire d'authentification consiste à créer une variable de session dès que le bouton de connexion est cliqué. La variable de session sera donc créée dans la méthode d'action, juste avant l'affichage de la vue.
Ex :
/**
* Affiche le formulaire d'authentification.
*
* @return \Illuminate\View\View
*/
public function showLoginForm()
{
Session::put('retourApresAuthentification', back()->getTargetUrl());
return View('auth.login');
}
▼Publicité