2016-10-13 22 views
0

私はLaravel 5.2でphp artisan make:auth関数を使用しています。laravel 5.2のログイン後にリダイレクトした後、ゲストをログインページにリダイレクトする方法5.2

ゲストがゲストではなくゲストのためにリンクする場合は、ログインページにリダイレクトします。

ログイン後、ユーザーをバックページにリダイレクトします。

どうすればいいですか?いくつかの例をファイル名で詳細に示してください。

///////編集

ルート

// Routes for logged in users 
Route::group(['middleware' => 'auth'], function() { 
//write 
Route::get('board/create', ['as' => 'board.create', 'uses' =>'[email protected]']); 
}); 

コントローラ

public function create() { 

    return view('board.create'); 

} 

Kernel.php

+0

ここでこの回答を見てください:http://stackoverflow.com/a/15393229/4199784 –

+3

[Laravel redirect back t oログイン後の元の目的地](http://stackoverflow.com/questions/15389833/laravel-redirect-back-to-original-destination-after-login) – Danh

答えて

2

これは、ミドルウェアを使用して達成されます。デフォルトでは、App\Http\Middleware\RedirectIfAuthenticated\Illuminate\Auth\Middleware\Authenticateミドルウェアがロードされます。 (ロードされているミドルウェアをチェックするためにあなたのapp/Http/Kernel.phpファイルをチェック

をだから、ルートグループと:。

// Routes for anyone 
Route::get('guest-or-user', '[email protected]'); 

// Routes for guests only 
Route::group(['middleware' => 'guest'], function() { 
    Route::get('user-not-logged-in', '[email protected]'); 
}); 

// Routes for logged in users 
Route::group(['middleware' => 'auth'], function() { 
    Route::get('user-logged-in', '[email protected]'); 
    // ... other routes 
}); 

あなたはまた、あなたのコントローラでこれを行うことができます。

// SomeController.php 
public function __construct() 
{ 
    $this->middleware('guest', ['only' => 'guestAction']); 
    $this->middleware('auth', ['only' => 'userAction']); 
} 

public function action() 
{ 
    // ... 
} 

public function guestAction() 
{ 
    // ... 
} 


public function userAction() 
{ 
    // ... 
} 

は、ドキュメントを読むProtecting Routes

+0

最近チェックの申し訳ございません、私の質問を編集します – jungmyung

+0

どこで定義できますか私のBoardControllerはKernel.phpにありますか? – jungmyung

+0

'app/Http/Kernel.php'に既に追加されている' auth'や 'guest'のような組み込みミドルウェアを使用している場合は、' Kernel.php'に何も追加する必要はありません – SimonDepelchin

関連する問題