我目前有登錄頁面後面的/儀表板路由,它在登錄後將您帶到管理面板。laravel 5中的高級驗證路由
Route::get('dashboard', ['middleware' => 'auth', function()
{
return view('dash.dashboard');
}]);
這是工作的罰款。但我不知道如何防止訪問管理面板中的所有鏈接,如果沒有登錄。我怎樣才能防止所有的儀表板/ {}路線? 注意 - 我還在學習laravel。
我目前有登錄頁面後面的/儀表板路由,它在登錄後將您帶到管理面板。laravel 5中的高級驗證路由
Route::get('dashboard', ['middleware' => 'auth', function()
{
return view('dash.dashboard');
}]);
這是工作的罰款。但我不知道如何防止訪問管理面板中的所有鏈接,如果沒有登錄。我怎樣才能防止所有的儀表板/ {}路線? 注意 - 我還在學習laravel。
您可以使用路線::組()來包裝你的所有管理路線,讓他們使用身份驗證的中間件,例如:
Route::group(['middleware' => ['foo', 'bar']], function()
{
Route::get('/', function()
{
// Has Foo And Bar Middleware
});
Route::get('user/profile', function()
{
// Has Foo And Bar Middleware
});
});
查看更多在documentation
你可以做什麼,你可以創建一個控制器,讓我們說DashboardController
並創建一個路由,如下所示:
$router->get('dashboard', '[email protected]');
// calling the index function of your DashboardController
在
DashboardController
而且,這樣做的你的構造:
class DashboardController extends BaseController
{
public function __construct()
{
$this->middleware('auth');
}
public function index()
{
return view('dash.dashboard');
}
}
在該控制器創建等功能,所以每次在該控制器的函數被調用,它將檢查身份驗證的中間件。這是做這件事的好方法。
另一種方法是使用路由組。
$router->group(['middleware' => 'auth'], function() {
$router->get('dashboard', function(){
return view('dash.dashboard');
});
});