Laravel 资源控制器中间件
Laravel Controller Middleware for Resources
我正在尝试在资源路由上使用中间件。
我的路线 ->
Route::resource('posts', 'PostController');
我的中间件 ->
$user = Auth::user();
if(Auth::check()) {
if($user->is_admin) {
return $next($request);
} else {
return redirect()->route('home');
}
} else {
return redirect()->route('login');
}
我的控制器构造函数 ->
$this->middleware('auth');
$this->middleware('admin')->only('posts.destroy');
我的目标是只让管理员销毁 post 而不是其他人。
但是当我使用
php artisan route:list
,显示的中间件是web,auth.
我做错了什么?
你可以试试:
$this->middleware('admin')->only('destroy');
我正在尝试在资源路由上使用中间件。
我的路线 ->
Route::resource('posts', 'PostController');
我的中间件 ->
$user = Auth::user();
if(Auth::check()) {
if($user->is_admin) {
return $next($request);
} else {
return redirect()->route('home');
}
} else {
return redirect()->route('login');
}
我的控制器构造函数 ->
$this->middleware('auth');
$this->middleware('admin')->only('posts.destroy');
我的目标是只让管理员销毁 post 而不是其他人。
但是当我使用
php artisan route:list
,显示的中间件是web,auth.
我做错了什么?
你可以试试:
$this->middleware('admin')->only('destroy');