2017-05-25 3 views

Antwort

1

Wenn Sie sprechen Verweis-URL, die Sie als GET oder POST Parameter vorbei sind, können Sie fangen Verweis-URL-Parameter und speichern Sie es auf der Sitzung, zum Beispiel:

session(['redirectAfterLogin' => request('referralUrl')]); 

Dann können Sie authenticated() in LoginController (5.4) außer Kraft setzen Sitzung zu überprüfen und leiten den Benutzer:

protected function authenticated(Request $request, $user) 
{ 
    if (session()->has('referralUrl')) { 
     $url = session('referralUrl'); 
     session()->forget('referralUrl'); 
     return redirect($url); 
    } 
} 
0

Stellen Sie einfach den Pfad zu dem Sie sich nach erfolgreicher Anmeldung umleiten möchten würde in Ihrem Login Controller

/** 
* Where to redirect users after login. 
* 
* @var string 
*/ 
protected $redirectTo = '/home'; 
0

Sie können $redirectTo = '/yourroute'; in LoginController.php geschützt festlegen.

Sie müssen keine Core-Dateien bearbeiten, und Sie sollten es nicht

+0

@Simon Suh, verstanden? –

0

gibt es zwei Möglichkeiten

erste ist ihre Antwort .. mit

$redirectTo = '/yourroute'; 

und wie sie bearbeiten erwähnt, es ist keine gute Praxis, Skripte in Laravel Kern zu ändern ..

Wenn die erste nicht funktioniert, anders herum, ist eine Bedingung in Ihrem Login/Registrierung hinzufügen r form like

if(Auth::check()) 
{ 
    return redirect('/yourroute'); 
} 
0

Sie können sie auch an die gewünschte URL umleiten.

Die beabsichtigte Methode im Redirector leitet den Benutzer zu der URL um, auf die er zuzugreifen versuchte, bevor er von der Authentifizierungsmiddleware abgefangen wurde. Eine Fallback-URI kann dieser Methode für den Fall bereitgestellt werden, dass das beabsichtigte Ziel nicht verfügbar ist.

Für zB:

if (Auth::attempt(['email' => $email, 'password' => $password])) { 
    // Authentication passed... 
    return redirect()->intended('dashboard'); 
} 

Mehr im documentation

Verwandte Themen