如果在Laravel 5.3中进行了身份验证,则重定向

时间:2016-08-23 18:58:01

标签: laravel authentication laravel-5.3 laravel-middleware

我正在使用y中的Auth脚手架,我已经更改了Laravel 5.3的路线。因此,我使用auth/login代替/register/signin

/signup中,我们在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,但我找不到任何地方来自定义此行为。

有什么想法吗?

2 个答案:

答案 0 :(得分:6)

  

我将如何"本地"到Laravel 5.3改变客人去了吗?

Looks like unauthenticated()中有一个新的app/Exceptions/Handler.php方法处理未经身份验证的用户并重定向到login

由于这是您应用的一部分,因此没有理由您无法自定义它以重定向到其他地方。

答案 1 :(得分:0)

你可以在带有JS的app.blade.php中试试这个:

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