Я пытаюсь использовать промежуточное ПО на маршруте ресурсов.
Мой маршрут -> 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');
Моя цель - позволить только администраторам уничтожить пост, а не другим.
Но когда я использую php artisan route:list
, показанное промежуточное ПО — это web, auth.
Что я здесь делаю неправильно?
'admin' => \App\Http\Middleware\AdminMiddleware::class,
- person Faraz Ali   schedule 02.11.2016die()
или что-то в самом промежуточном программном обеспечении и получите доступ к любому маршруту. - person Andrei   schedule 02.11.2016$this->middleware('admin');
, он будет отображаться подphp artisan route:list
, но я хочу, чтобы он применялся только к определенным маршрутам. Любое решение? - person Faraz Ali   schedule 02.11.2016('destroy')
работает вместо('posts.destroy')
- person Faraz Ali   schedule 02.11.2016