Est-il possible d'ajouter un middleware à tout ou partie d'un itinéraire ingénieux?
Par exemple...
<?php
Route::resource('quotes', 'QuotesController');
En outre, si possible, je voulais faire en sorte que tous les itinéraires autres que index
et show
utilisent le middleware auth
. Ou serait-ce quelque chose qui doit être fait dans le contrôleur?
Dans le constructeur QuotesController
, vous pouvez ensuite utiliser:
$this->middleware('auth', ['except' => ['index','show']]);
Référence: Contrôleur logiciel dans Laravel 5
Vous pouvez utiliser Route Group associé au concept de middleware: http://laravel.com/docs/master/routing
Route::group(['middleware' => 'auth'], function()
{
Route::resource('todo', 'TodoController', ['only' => ['index']]);
});
Dans laravel 5.5 avec php 7, cela n’a pas fonctionné pour moi avec plusieurs méthodes d’exclusion jusqu’à ce que j’écrive
Route::group(['middleware' => 'auth:api'], function() {
Route::resource('categories', 'CategoryController', ['except' => 'show,index']);
});
peut-être que ça aide quelqu'un.