2017-01-16 2 views
0

Ich will Laravel beabsichtigte Funktionalität verwenden. Was ich getan habe, ist, wenn Benutzer Login es an die beabsichtigte URL geht, wenn der Benutzer nicht registriert ist, dann wird es auf die Registrierung sonst Login-Seite gehen.laravel beabsichtigte Redirect-Problem, wenn Register

Ich kann nicht verstehen, wo ich etwas falsch

Unten getan haben, ist mein LoginController:

public function showLoginForm() 
{ 
    if(!session()->has('from')){ 
     session()->put('from', url()->previous()); 
    } 
    return view('auth.login'); 
} 

public function authenticated($request,$user) 
{ 
    return redirect(session()->pull('from',$this->redirectTo)); 
} 

Antwort

0

anstelle der bisherigen URL in einer Sitzung speichern, zeigt dieses verwenden;

return redirect()->guest('/your-login-route'); 
//this stores your intended route and redirects if not authenticated 

Wenn Sie laravel's AUTH verwenden, ist diese Funktion sofort verfügbar. Für benutzerdefinierte Authentifizierung, verwenden Sie dies in Ihrer Middleware-Handle-Methode wie folgt;

public function handle($request, Closure $next, $guard = 'custom-guard') 
{ 
    if(! Auth::guard($guard)->check()){ 
     return redirect()->guest('/your-login-route'); 
    } 
    return $next($request); 
} 

siehe laravel documentation eine Middleware zu schaffen

Verwandte Themen