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
Patricia ArquetteOriginal
2024-12-04 19:41:10429Durchsuche

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');

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');
}

Anmeldeaktion:

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

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');
    }
});

Anmeldeaktion:

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

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);
    }
});

Controller:

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

    return Redirect::to('login')->with_input();
}

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!

Stellungnahme:
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