Heim >Backend-Entwicklung >PHP-Tutorial >Wie leite ich Benutzer nach der Laravel-Anmeldung zu ihrem ursprünglichen Ziel um?

Wie leite ich Benutzer nach der Laravel-Anmeldung zu ihrem ursprünglichen Ziel um?

Barbara Streisand
Barbara StreisandOriginal
2024-11-30 17:37:11414Durchsuche

How to Redirect Users to Their Original Destination After Laravel Login?

Laravel: Benutzer nach der Anmeldung zum ursprünglichen Ziel umleiten

Wenn ein Benutzer in Laravel versucht, auf eine geschützte Route zuzugreifen, wird er dorthin umgeleitet die Anmeldeseite. Nach der Anmeldung sollte der Benutzer zurück zu der Seite weitergeleitet werden, auf die er ursprünglich zugreifen wollte.

Lösung

Für Laravel 5.3 und höher

  • Verwenden Sie die vorgesehene Methode in der Anmeldeaktion, um den Benutzer zurück zur vorgesehenen Seite umzuleiten. Beispiel:
// Login action
public function login(Request $request)
{
    if (Auth::attempt($request->all())) {
        return redirect()->intended('dashboard');
    }

    return redirect('login');
}

Für Laravel 5 bis 5.2

  • Ändern Sie die Authentifizierungs-Middleware, um die angeforderte URL in einer Sitzung zu speichern, bevor sie weitergeleitet wird die Anmeldeseite.
  • Verwenden Sie in der Anmeldeaktion die vorgesehene Methode, um den Benutzer zurück zur vorgesehenen Seite umzuleiten, oder eine Standardseite, falls keine vorhanden ist. Beispiel:
// Auth middleware
public function handle($request, Closure $next)
{
    if (Auth::guest()) {
        Session::put('intended_url', request()->url());
        return redirect('login');
    }

    return $next($request);
}

// Login action
public function login(Request $request)
{
    if (Auth::attempt($request->all())) {
        return redirect()->intended('dashboard');
    }

    return redirect('login');
}

Für Laravel 4

  • Verwenden Sie die Redirect::guest-Methode im Authentifizierungsfilter, um den Benutzer zum Login umzuleiten Seite und speichern Sie die angeforderte URL in einer Sitzung.
  • Verwenden Sie in der Anmeldeaktion die Methode Redirect::intended, um die umzuleiten Benutzer zurück zur beabsichtigten Seite oder zu einer Standardseite, falls keine vorhanden ist. Beispiel:
// Auth filter
Route::filter('auth', function($route, $request) {
    if (Auth::guest())
    {
        Session::put('intended_url', request()->url());
        return Redirect::guest('login');
    }
});

// Login action
public function login(Request $request)
{
    if (Auth::attempt($request->all())) {
        return Redirect::intended('dashboard');
    }

    return Redirect::to('login');
}

Das obige ist der detaillierte Inhalt vonWie leite ich Benutzer nach der Laravel-Anmeldung zu ihrem ursprünglichen Ziel 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