当我要使用 Laravel 5.2 框架的middleware
组时,我遇到了一些问题。
我的 routes.php 文件是:
Route::group(['prefix' => 'categories'], function () {
Route::get('all', ['as' => 'allCategory' , 'uses' => 'CategoryController@index']);
Route::get('add', ['as' => 'addCategory', 'uses' => 'CategoryController@create']);
Route::get('edit/{id}', ['as' => 'editCategory', 'uses' => 'CategoryController@edit']);
Route::post('save', ['as' => 'saveCategory', 'uses' => 'CategoryController@store']);
Route::put('update', ['as' => 'updateCategory', 'uses' => 'CategoryController@update']);
Route::get('delete/{id}', ['as' => 'deleteCategory', 'uses' => 'CategoryController@destroy']);
});
Route::group(['middleware' => ['web']], function () {
Route::get('/', function () {
return view('welcome');
});
Route::auth();
Route::get('/home', 'HomeController@index');
});
我在这里使用laravel默认登录/注册身份验证。使用php artisan make:auth
命令。我想为某些routes
限制用户,例如categories
路由group.So,
'web'
之间有什么区别?
和'auth'
middleware
?感谢。
N.B:如果您需要了解任何文件,请在下面发表评论我将添加这些文件。
答案 0 :(得分:4)
这是laravel 5.2的一个特色。 2默认中间件是web和api。
您需要在 web 中间件中放置类别组路由。
Web中间件使您的请求包含用于身份验证的cookie,session,csrf_token。否则, api 中间件用于应用程序,简单查询获取或发布没有请求标头,假设移动应用程序。
基于网络中间件验证中间件。