2016-10-03 25 views
1

私はLaravel 5.3でルートを保護しようとしています。私はそれが/loginルートに私をリダイレクトするログアウト状況で/profileを閲覧しようとすると、私はコードLaravel 5.3のルートを保護する

Route::get('profile', function() { 
    // Only authenticated users may enter... 
})->middleware('auth'); 

の下に使用しています。しかし、それを/ルートにリダイレクトしたいと思います。

どうすればいいですか?

答えて

1

それは例外ディレクトリにあります。 App \ Exceptions \ Handler.phpに移動し、コードを変更します。

return redirect()->guest('/'); 
1

変更ファイルアプリ\ミドルウェア\ RedirectIfAuthenticated.php

と、この行を編集:

return redirect('/login'); 
+0

ありがとう@Marcin。 Laravel 5.3にはそのようなファイルはありません。あなたはこのhttps://github.com/laravel/laravel/tree/master/app/Http/Middleware –

+0

をご存知でしょう。それはRedirectIfAuthenticatedです。 – Marcin

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

    return $next($request); 
} 

をこのファイルアプリ\ミドルウェア\ RedirectIfAuthenticated.phpでこの関数を記述してください

+0

あなたの解決策は機能していません。 –

+0

あなたは新しいミドルウェアを作りたいですか? –

+0

いいえ、私はミドルウェアを作っていませんでした。ありがとう –

0

試すことができます

laravel 5.3で
Route::group(['middleware'=>'web'],function(){ 
Route::Auth(); 
Route::get('/home', '[email protected]');}); 

やアプリを変更\ミドルウェア\ RedirectIfAuthenticated.php

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

    return $next($request); 
} 
関連する問題