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

Eca*_*caz 7 authentication laravel laravel-middleware laravel-5.3

我正在使用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);
}
Run Code Online (Sandbox Code Playgroud)

login如果用户没有登录,这将重定向到路由.Laravel 5.3我们有这个,

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

    return $next($request);
}
Run Code Online (Sandbox Code Playgroud)

这会将已登录的用户重定向到默认路由/.所以他们在5.3中改变了它.而不是定义客人去哪里,我们定义了登录用户去.

我的问题是,我将如何原生地向Laravel 5.3 改变客人去哪里?

因为目前,尝试访问受中间件保护的站点的人自动最终到达/login路线.我想将此更改为/signin但我找不到任何地方来自定义此行为.

有任何想法吗?

Jas*_*ary 6

我怎么会"本地"去Laravel 5.3改变客人去哪儿?

看起来有一种新unauthenticated()方法app/Exceptions/Handler.php可以处理未经身份验证的用户并重定向到login.

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