0
votes

Laravel - Rediriger l'utilisateur à la page précédente après la connexion réussie

J'essaie de rediriger l'utilisateur à la page précédente après une connexion réussie. Pour cela, dans le logiffontroller.php J'ai ajouté un redirectto () fonction comme tel: xxx

avec cela en place, j'ai essayé Se connecter mais après la connexion réussie, je suis redirigé vers la page d'accueil. ( / ).

Quand j'ai fait dd (URL () -> Précédent ()) dans la fonction redirectTo () , j'ai trouvé l'URL précédente était http: // localhost / login . Donc, l'utilisateur a été redirigé vers Login , puis redirigé vers HOME page.

J'ai aussi essayé retour redirect () -> Retour () dans le RedirectTo () Fonction mais j'ai eu l'erreur suivante < BlockQuote>

L'en-tête peut ne pas contenir plus d'un seul en-tête, une nouvelle ligne détectée

J'ai également essayé d'utiliser authentifier () dans le logiffontroller xxx il redirige vers < Code> / home (qui n'est pas trouvé)
Utilisation de Retour Redirect () -> Contendu () au lieu de Retour Redirection () -> Retour () donne le même résultat.

Comment puis-je rediriger l'utilisateur à la page précédente dans laquelle il / elle était quand il / elle a accédé à la page de connexion?

i toujours envie de conserver la fonctionnalité par défaut lorsqu'un utilisateur tente d'accéder à un itinéraire avec auth-paradlate, il est pris à la page de connexion et après la connexion réussie, redirigé vers la page où il avait l'intention d'aller dans la première place.


4 Réponses :


0
votes

Vous pouvez le faire en utilisant la fonction Global Back Helper. XXX


2 commentaires

Où devrais-je ajouter ceci?


Retour () vous retourne à Google Fenêtre Où choisir un utilisateur Google



1
votes
public function handle($request, Closure $next, $guard = null)
    {
        if (Auth::guard($guard)->check()) {
            return redirect('/home');
        }

        return $next($request);
    }

0 commentaires

1
votes

J'ai travaillé de la manière suivante:

dans logincontroller xxx

la méthode demande () -> a ("précédent") Vérifiez si cela existe PreviIus Chemier en session, sinon existez à rediriger vers un chemin par défaut.


0 commentaires

0
votes

Il suffit d'ajouter à Logincontroller

 public function redirectTo(){
    if (request()->has('previous')) {
        $this->redirectTo = request()->get('previous');
    }
    return $this->redirectTo ?? '/defaultPath';
}


0 commentaires