2017-03-10 14 views
0

新しいLaravel 5.4プロジェクトをインストールします。Laravel Auth hiddenリダイレクト

実行php artisan make:auth

http://localhost:8000/home(ログインしていない状態)にアクセスしてください。

私はこのリダイレクトが魔法のように思えるhttp://localhost:8000/login

にリダイレクトされます。これは、家庭用のルートです:

|| GET|HEAD |home||App\Http\Controllers\[email protected]|web,auth| 

authミドルウェアは を引き継ぐので、我々はindex()方法を取得することはありません。 authミドルウェアファイルIlluminate\Auth\Middleware\Authenticate.phpを開いて、/loginリダイレクトについては言及していません。

/homeから/loginへのリダイレクトはどこに定義されていますか?

+1

https://github.com/laravel/laravel/search?q=%2Floginのように見えます – CBroe

答えて

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';