Home > Article > Backend Development > laravel 5 route里使用中间件没作用
routes.php文件里加上
Route::get('/api/index','ApiController@index',['middleware'=>'auth']);
但是发现这个中间件没作用,google了一下,route里都是这么写的,但为啥我这里没作用?
routes.php文件里加上
Route::get('/api/index','ApiController@index',['middleware'=>'auth']);
但是发现这个中间件没作用,google了一下,route里都是这么写的,但为啥我这里没作用?
没有什么作用具体?
看看 Kernel.php 中的 $routeMiddleware 数组中是否包含
'auth' => 'App\Http\Middleware\Authenticate',
nathan_wu 回复是正确的,是我的写法有问题,正确的写法应该是下面这样
Route::get('home', [
'middleware' => ['auth'], //use the roles middleware
'uses' => 'HomeController@index',
]);
但是最初我是google到老外的一篇文章,它里面的写法是酱紫的,
$router->get("/awesome/sauce", "AwesomeController@sauce", ['middleware' => 'auth']);
所以就模仿他的写法,结果中间件没起作用,可能是laravel版本的问题吧
正好解决问题