web-dev-qa-db-fra.com

Laravel Middleware sauf avec Route :: group

J'essaie de créer une route de groupe pour la section admin et d'appliquer le middleware à tous les chemins, sauf pour la connexion et la déconnexion.

Ce que j'ai jusqu'à présent, c'est:

Route::group(['prefix' => 'admin', 'namespace' => 'Admin', 'middleware' => 'authAdmin'], function() {

    Route::resource('page', 'PageController');
    Route::resource('article', 'ArticleController');
    Route::resource('gallery', 'GalleryController');
    Route::resource('user', 'UserController');

    // ...

});

Comment déclarer des exceptions pour le middleware avec la configuration ci-dessus?

25
Sebastian Sulinski

Il vous suffit d'imbriquer des groupes et d'exclure des itinéraires spécifiques:

Route::group(['prefix' => 'admin', 'namespace' => 'Admin'], function() {

    Route::get('login', 'AuthController@login');
    Route::get('logout', 'AuthController@logout');

    Route::group(['middleware' => 'authAdmin'], function(){
        Route::resource('page', 'PageController');
        Route::resource('article', 'ArticleController');
        Route::resource('gallery', 'GalleryController');
        Route::resource('user', 'UserController');

        // ...
    });
});
44
lukasgeiter