添加对资源路由的控制
add control to resource routes
我的资源路线如下:
$router->resource('subnets', 'subnetController');
我在文档中看到资源路由可以有一个参数数组...是否有一个参数允许您选择谁可以访问这些路由?如果我使用的是基本路由,那将是这样的:
Route::get('/subnets', function () {
if (Auth::user()['attributes']['role'] == 'admin') return view('subnets.index');
else return view ('errors.403');
});
你应该使用中间件..
- 创建中间件 > https://laravel.com/docs/5.3/middleware
- 在处理程序中间件上写这个
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');
});
我的资源路线如下:
$router->resource('subnets', 'subnetController');
我在文档中看到资源路由可以有一个参数数组...是否有一个参数允许您选择谁可以访问这些路由?如果我使用的是基本路由,那将是这样的:
Route::get('/subnets', function () {
if (Auth::user()['attributes']['role'] == 'admin') return view('subnets.index');
else return view ('errors.403');
});
你应该使用中间件..
- 创建中间件 > https://laravel.com/docs/5.3/middleware
- 在处理程序中间件上写这个
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'); });