Heim >Backend-Entwicklung >PHP-Tutorial >Wie leite ich Benutzer nach der Autorisierung in Laravel zu ihrem beabsichtigten Ziel um?
Umleitung zurück zum ursprünglichen Ziel nach der Autorisierung in Laravel
Die Umleitung zum beabsichtigten Ziel nach der Benutzerautorisierung ist eine häufige Anforderung in Webanwendungen. Um dies in Laravel zu erreichen, müssen Sie verstehen, wie die Autorisierung funktioniert, und geeignete Techniken anwenden.
Der Autorisierungsprozess
Wenn ein Benutzer versucht, auf eine geschützte Route zuzugreifen, verwendet die Authentifizierungs-Middleware von Laravel B. die Authentifizierungs-Middleware, fängt die Anfrage ab. Wenn der Benutzer nicht angemeldet ist, wird er auf eine Anmeldeseite weitergeleitet.
Bestimmen des ursprünglichen Ziels
Nach der Anmeldung müssen wir die ursprüngliche Seite des Benutzers ermitteln habe versucht, darauf zuzugreifen, bevor der Autorisierungsprozess begann. Laravel bietet hierfür integrierte Funktionen:
Laravel 5.3 und höher
Ab Laravel 5.3 wurde die vorgesehene Hilfsmethode eingeführt. Im Login-Controller nach erfolgreicher Authentifizierung:
return redirect()->intended('/');
Dadurch wird der Benutzer zu der Seite weitergeleitet, auf die er ursprünglich zugreifen wollte.
Laravel 5 bis 5.2
In Laravel 5 bis 5.2 können Sie die Methode intend() für die Weiterleitung verwenden Klasse:
return redirect()->intended('defaultpage');
Wenn die beabsichtigte Seite nicht festgelegt ist, wird auf die angegebene Standardseite weitergeleitet, z. B. die Startseite.
Laravel 4 und früher
Vor Laravel 5.3 fehlte die offizielle Unterstützung für diese Funktionalität. Ein Ansatz besteht darin, die beabsichtigte URL während des Autorisierungsprozesses in der Sitzung zu speichern und nach erfolgreicher Anmeldung dorthin umzuleiten:
// In the authorization filter if (Auth::guest()) { Session::put('intended', Request::fullUrl()); return Redirect::guest('login'); } // In the login controller if (Auth::attempt(['email' => $email, 'password' => $password])) { $intended = Session::get('intended'); Session::forget('intended'); return Redirect::to($intended ?: 'defaultpage'); }
Manuelle Implementierung
Wenn Sie möchten Wenn Sie diese Funktion manuell implementieren, können Sie Benutzer auf eine Seite umleiten, auf der sie nach der Anmeldung ihr gewünschtes Ziel auswählen können. Alternativ können Sie die beabsichtigte Seite in einer vorübergehenden Variablen (z. B. Cookie) speichern und Benutzer umleiten sofort nach erfolgreicher Autorisierung darauf zugreifen.
Das obige ist der detaillierte Inhalt vonWie leite ich Benutzer nach der Autorisierung in Laravel zu ihrem beabsichtigten Ziel um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!