web-dev-qa-db-fra.com

Laravel 5 ressources riches en middleware

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?

54
kilrizzy

Dans le constructeur QuotesController, vous pouvez ensuite utiliser:

$this->middleware('auth', ['except' => ['index','show']]);

Référence: Contrôleur logiciel dans Laravel 5

96
Marcin Nabiałek

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']]);
});
56
Thomas Chemineau

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.

3
Mohannd