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!