Heim >Backend-Entwicklung >PHP-Tutorial >Wie leite ich Benutzer nach der Laravel-Authentifizierung zurück zur vorherigen Seite um?

Wie leite ich Benutzer nach der Laravel-Authentifizierung zurück zur vorherigen Seite um?

Susan Sarandon
Susan SarandonOriginal
2024-11-30 18:05:13518Durchsuche

How to Redirect Users Back to the Previous Page After Laravel Authentication?

Laravel: Weiterleitung zur vorherigen Seite nach der Anmeldung

Frage:

Wie kann ich umleiten? Ein Benutzer kehrt zu der Seite zurück, auf die er zugreifen wollte, bevor er auf eine Laravel-Authentifizierung stößt filtern?

Antwort:

Für Laravel 5.3 und höher:

Weiterleitung zur gewünschten Seite mit request()- >intended(), z. B.:

// Auth middleware
if (!Auth::check()) {
    return redirect()->intended('login');
}

// Login action
if (Auth::attempt(['email' => $email, 'password' => $password])) {
    return redirect()->intended('/');
}

Für Laravel 5 bis 5.2:

  1. In der Authentifizierungs-Middleware auf „Anmelden“ umleiten und die Original-URL in der Sitzung speichern:
// Auth middleware
if (!Auth::check()) {
    return redirect()->guest('login');
}
  1. Bei der Anmeldeaktion leiten Sie zur gewünschten Seite oder einer Standardseite weiter Seite:
// Login action
if (Auth::attempt(['email' => $email, 'password' => $password])) {
    return redirect()->intended('defaultpage');
}

Für Laravel 4:

  1. Im Authentifizierungsfilter auf „Anmelden“ umleiten und die Original-URL im speichern Sitzung:
// Auth filter
Route::filter('auth', function() {
    if (!Auth::check()) {
        return Redirect::guest('login');
    }
});
  1. Weiterleiten bei der Anmeldeaktion zur vorgesehenen Seite oder einer Standardseite Seite:
// Login action
if (Auth::attempt(['email' => $email, 'password' => $password])) {
    return Redirect::intended('defaultpage');
}

Für Laravel 3:

  1. Im Authentifizierungsfilter die aktuelle URL in der Sitzung speichern und zum Login weiterleiten Seite:
// Auth filter
Route::filter('auth', function() {
    if (!Auth::check()) {
        Session::put('redirect', URL::full());
        return Redirect::to('/login');
    }
});
  1. Weiterleiten bei der Anmeldeaktion zur gewünschten Seite oder einer Standardseite Seite:
// Login controller
public function get_login() {
    // ...
}

public function post_login() {
    // ...

    if (Auth::attempt($credentials)) {
        $redirect = Session::get('redirect');
        Session::forget('redirect');

        if ($redirect) {
            return Redirect::to($redirect);
        } else {
            return Redirect::to('defaultpage');
        }
    }

    // ...
}

Das obige ist der detaillierte Inhalt vonWie leite ich Benutzer nach der Laravel-Authentifizierung zurück zur vorherigen Seite um?. 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