Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich Benutzer nach der Laravel-Anmeldung zurück zu ihrem ursprünglichen Ziel umleiten?

Wie kann ich Benutzer nach der Laravel-Anmeldung zurück zu ihrem ursprünglichen Ziel umleiten?

Patricia Arquette
Freigeben: 2024-12-04 19:41:10
Original
406 Leute haben es durchsucht

How Can I Redirect Users Back to Their Original Destination After Laravel Login?

Umleitung zurück zum ursprünglichen Ziel nach Laravel-Anmeldung

Diese Funktionalität wird häufig in Webanwendungen benötigt. Laravel bietet elegante Lösungen für wesentliche Funktionen, was die Frage aufwirft, ob dies eine verpasste Chance ist.

Für Laravel 5.3 und höher

Wie Scott betonte, ein Eingeborener Methode existiert jetzt:

return redirect()->intended('defaultpage');
Nach dem Login kopieren

Für Laravel 5 bis 5.2

Authentifizierungs-Middleware:

// redirect to "/login" and store the URL in session
if (Auth::guest()) {
    return redirect()->guest('login');
}
Nach dem Login kopieren

Anmeldeaktion:

// redirect back to intended page or default if not available
if (Auth::attempt(['email' => $email, 'password' => $password])) {
    return redirect()->intended('defaultpage');
}
Nach dem Login kopieren

Für Laravel 4

Obwohl es früher keine offizielle Unterstützung gab Versionen können Sie es weiterhin implementieren:

Auth-Filter:

// redirect to "/login" and store the URL in session
Route::filter('auth', function() {
    if (Auth::guest()) {
        return Redirect::guest('login');
    }
});
Nach dem Login kopieren

Anmeldeaktion:

// redirect back to intended page or default if not available
if (Auth::attempt(['email' => $email, 'password' => $password])) {
    return Redirect::intended('defaultpage');
}
Nach dem Login kopieren

Für Laravel 3

Ein früherer Ansatz besteht darin, die Umleitung im zu speichern Sitzung:

Auth-Filter:

Route::filter('auth', function() {
    if (Auth::guest()) {
        Session::put('redirect', URL::full());
        return Redirect::to('/login');
    }
    if ($redirect = Session::get('redirect')) {
        Session::forget('redirect');
        return Redirect::to($redirect);
    }
});
Nach dem Login kopieren

Controller:

// login action
public function post_login()
{
    if (Auth::attempt($credentials)) {
        return Redirect::to('logged_in_homepage_here');
    }

    return Redirect::to('login')->with_input();
}
Nach dem Login kopieren

Dieser Ansatz ermöglicht das Festlegen jeder Komponente eine Umleitung in der Sitzung zum späteren Abruf.

Das obige ist der detaillierte Inhalt vonWie kann ich Benutzer nach der Laravel-Anmeldung zurück zu ihrem ursprünglichen Ziel umleiten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage