2016-08-23 131 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