2016-10-13 95 views
0

我在Laravel 5.2中使用php工匠make:auth函數。如何將客人重定向到登錄頁面,在laravel中登錄後重定向返回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重定向回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

如果你正在使用像'auth'和'guest'這樣的內置中間件,那麼你就不需要在'Kernel.php'中添加任何東西,這些東西已經添加到你的'app/Http/Kernel.php'中了。 – SimonDepelchin