web-dev-qa-db-ja.com

Laravel 5 Resourceful Routes Plus Middleware

ミドルウェアをリソースフルルートのすべてまたは一部のアイテムに追加できますか?

例えば...

<?php

Route::resource('quotes', 'QuotesController');

さらに、可能であれば、indexおよびshow以外のすべてのルートでauthミドルウェアを使用するようにしました。または、これはコントローラー内で行う必要があるものでしょうか?

54
kilrizzy

QuotesControllerコンストラクターでは、次を使用できます。

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

参照: Laravel 5のコントローラーミドルウェア

96

ルートグループとミドルウェアの概念を組み合わせて使用​​できます。 http://laravel.com/docs/master/routing

Route::group(['middleware' => 'auth'], function()
{
    Route::resource('todo', 'TodoController', ['only' => ['index']]);
});
56

laravel 5.5でphp 7を使用すると、マルチメソッドの除外を使用しても機能しませんでした。

Route::group(['middleware' => 'auth:api'], function() {

Route::resource('categories', 'CategoryController', ['except' => 'show,index']);
});

多分それは誰かを助ける。

3
Mohannd