Laravel Auth隐藏重定向

时间:2017-03-10 21:48:49

标签: php laravel laravel-5

安装新的Laravel 5.4项目。

运行php artisan make:auth

转到http://localhost:8000/home(未登录)。

我被重定向到http://localhost:8000/login

这种重定向看起来很神奇。这是回家的路线:

|| GET|HEAD |home||App\Http\Controllers\HomeController@index|web,auth|

我们永远不会使用index()方法,因为auth中间件需要 过度。我打开auth中间件文件Illuminate\Auth\Middleware\Authenticate.php,但没有提到/login重定向。

/home/login的重定向定义在哪里?

1 个答案:

答案 0 :(得分:0)

检查app/Exceptions/Handler.php文件,您会看到Exception handler未经身份验证的用户:

protected function unauthenticated($request, AuthenticationException $exception)
{
    if ($request->expectsJson()) {
        return response()->json(['error' => 'Unauthenticated.'], 401);
    }

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

P.S。您可以在home文件中重定向到app/Http/Middleware/RedirectIfAuthenticated.php

UPD1:登录/注册后重定向到主页,您可以在app/Http/Controllers/Auth/LoginController.phpapp/Http/Controllers/Auth/RegisterController.php进行设置。 它看起来像

protected $redirectTo = '/home';