2016-10-02 96 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