2016-08-23 128 views
7

我在Laravel 5.3使用Auth腳手架,我改變了auth的路線。因此,我使用/signin/signup而不是/login/register重定向如果在Laravel 5.3驗證

Laravel 5.2我們在auth中間件有這個默認情況下,

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); 
} 

這將重定向到login途徑,如果用戶不是登陸,在Laravel 5.3我們有這個,

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

    return $next($request); 
} 

這會將已登錄的用戶重定向到缺省路由/。所以他們在5.3轉換它。我們沒有定義客人去哪裏,而是定義了用戶去登錄。

我的問題是,如何將我本身到Laravel 5.3 變化做客去了?

因爲目前,嘗試訪問受中間件保護的網站的用戶自動以/login路由結束。我想將其更改爲/signin,但我找不到任何地方來自定義此行爲。

任何想法?

回答

6

對於Laravel 5.3的變化,我會如何「本地」變成客人?

Looks like有在app/Exceptions/Handler.phpunauthenticated()方法,可處理未經驗證的用戶,並重定向到login

由於這是你的應用程序的一部分,沒有理由你不能定製它重定向到別處。

+1

謝謝!上帝......除了那裏,我到處都是。 – Ecaz

0

您可以在app.blade.php與JS試試這個:

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