2016-10-02 93 views
0

我的資源路線是這樣的:加控制,資源路線

$router->resource('subnets', 'subnetController'); 

我是一個資源路由可以有一組參數...文檔上看到的是有沒有允許你選擇誰可以參數訪問這些路線?如果我是用基本的路由,將是這樣的:

Route::get('/subnets', function() { 
    if (Auth::user()['attributes']['role'] == 'admin') return view('subnets.index'); 
    else return view ('errors.403'); 
}); 
+0

你應該看看的中間件實現The:https://laravel.com/docs/5.3/middleware – Hammerbot

+0

作爲透水評論提到,你可以讓一箇中間件來做這個檢查,並且可以在控制器或路徑中定義它。 – lagbox

回答

0

你應該使用中間件..

  1. 創建中間件>https://laravel.com/docs/5.3/middleware
  2. 寫這在處理中間件
public function handle($request, Closure $next) 
    { 
     if ($request->user()->role == 'admin') { 
      return $next($request); 
     } 
     abort(403, 'Access denied'); 
    } 
  • routes.php文件
  • Route::group(['middleware' => 'your_middleware_name'], function() { 
         Route::resource('subnets', 'subnetController'); 
        }); 
    
    +0

    'Route :: group()'是我失蹤的......謝謝! – RidRoid