laravel 5.2 umleiten der vorgesehenen url nach login
Ich bin struggeling mit meinem routing in meinem laravel 5.2 Anwendung.
Dem beabsichtigten Verhalten:
- Unregistrierte Benutzer versucht, Zugriff auf geschützte Seite
- Weiterleitung zu Login
- Umgeleitet (auf Erfolg) zu beabsichtigten Seite
Natürlich wird der Benutzer umgeleitet werden soll, auf sein "dashboard", wenn es keine soll-Seite (wenn er aktiv angemeldet)
Beispiel:
/* Create a Payment | Only for registered Users (client) */
Route::post('payment', 'PaymentController@create')->middleware('client');
Wird der Benutzer weitergeleitet auf die login-Seite, allerdings, nach dem login, wird er auf die Seite umgeleitet definierte ich in meinem authcontroller als $redirectTo
protected $redirectTo = '/backoffice';
Gibt es eine Möglichkeit, um die Umleitung zu so etwas wie (inteded oder Standard)
- Haben Sie versucht, z.B.
return redirect()->intended('backoffice');
als pro diesem? laravel.com/docs/5.2/authentication#authenticating-users - Ich vergaß zu sagen, dass ich gerne den Standard-Authentifizierung von laravel
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie möchten, dass ein nicht angemeldeter Benutzer wird umgeleitet auf eine login-Seite und nach einem erfolgreichen log-in, wieder zurück an die gewünschten url-Adresse oder die Standard -, die setup-variable.
Dann Sie wahrscheinlich so etwas wie dieses.
Laravel halten "soll.url" in der Sitzung für Sie und nach erfolgreichem login umleiten Benutzer zurück zu /backoffice.
Hier ist eine weitere Antwort über die verschiedenen Versionen Laravel
withInput()
können in diesem Fall helfen. Laravel alt-EingangFand ich heraus, dass
AuthenticatesUsers Trait
definiert inAuthenticatesUsers.php
hat die FunktionhandleUserWasAuthenticated
wo es überprüft, ob Laravel Standard-AuthentifizierungAuthController.php
hat eine Methodeauthenticated
definiert oder nicht. Wenn diese Methode nicht definiert ist, wird immer der Benutzer umleiten, um was auch immer Sie definieren in$redirectTo
Eigenschaft. Es nicht leiten den Benutzer auf die beabsichtigte URL. Jedoch, inAuthController.php
wenn definieren Sie die Methode wie folgt:redirect()->intended()
wird so funktionieren, wie Sie erwarten, genau, und nachdem der Benutzer authentifiziert ist, wird er auf die umgeleitet werden soll URL.Bin ich mit Laravel 5.4
LoginController:
In 5.2 Nur ändern in
"app/Http/Controllers/Auth/AuthController.php"
in der Nähe der Linie 31
protected $redirectTo = '/Your_View_page';