2016-08-23 8 views
7

Ich benutze die Auth Gerüst in Laravel 5.3 und ich habe die Routen für die auth geändert. Also statt /login und /register verwende ich /signin und /signup.Redirect wenn authentifiziert in Laravel 5.3

In Laravel 5.2 wir dies in der auth Middleware standardmäßig hatten,

public function handle($request, Closure $next, $guard = null) 
{ 
    if (Auth::guard($guard)->guest()) { 
     if ($request->ajax() || $request->wantsJson()) { 
      return response('Unauthorized.', 401); 
     } 

     return redirect()->guest('login'); 
    } 

    return $next($request); 
} 

Dies ist auf die login Route umleiten würde, wenn der Benutzer nicht angemeldet ist. In Laravel 5.3 wir diese haben,

public function handle($request, Closure $next, $guard = null) 
{ 
    if (Auth::guard($guard)->check()) { 
     return redirect('/'); 
    } 

    return $next($request); 
} 

Dies leitet einen bereits angemeldeten Benutzer auf die Standardroute / um. Also haben sie es in 5.3 umgeschalten. Anstatt zu definieren, wohin der Gast gehen soll, definieren wir die angemeldeten Benutzer.

Meine Frage ist, wie würde ich nativ zu Laravel 5.3 Änderung wurden die Gäste gehen?

Weil im Moment Leute, die versuchen, auf durch die Middleware geschützte Sites zuzugreifen, automatisch auf einer /login Route enden. Ich möchte dies zu /signin ändern, aber ich kann nirgends finden, dieses Verhalten anzupassen.

Irgendwelche Ideen?

Antwort

6

Wie würde ich "nativ" zu Laravel 5.3 ändern Gäste gehen?

Looks like gibt es eine neue Methode unauthenticated() in app/Exceptions/Handler.php, die nicht authentifizierte Benutzer behandelt und Umleitungen an login.

Da dies Teil Ihrer App ist, gibt es keinen Grund, den Sie nicht anpassen könnten, um anderswo weiterzuleiten.

+1

Thank you! Gott ... Ich habe überall nachgesehen, außer dort. – Ecaz

0

Sie können versuchen, diese in der app.blade.php mit JS:

@if (Auth::guest()) 
<script type="text/javascript"> window.location = "{{url('/login')}}"; </script> 
@endif 
Verwandte Themen