每个laravel doc,我可以添加auth中间件如下:
Route::group(['middleware' => 'auth'], function () {
Route::get('/', function () {
// Uses Auth Middleware
});
Route::get('user/profile', function () {
// Uses Auth Middleware
});
});
Run Code Online (Sandbox Code Playgroud)
我还看到中间件添加如下:
Route::group(['middleware' => ['web']], function() {
// Uses all Middleware $middlewareGroups['web'] located in /app/Http/kernel.php?
Route::resource('blog','BlogController'); //Make a CRUD controller
});
Run Code Online (Sandbox Code Playgroud)
我怎么能两个都做?
PS.任何有关底部四行代码正在做什么的见解的评论将不胜感激
krl*_*rlv 46
要将中间件分配给路径,您可以使用单个中间件(第一个代码段)或中间件组(第二个代码段).使用中间件组,您可以同时为路径分配多个中间件.您可以在文档中找到有关中间件组的更多详细信息.
要同时使用(单个中间件和中间件组),您可以尝试这样做:
Route::group(['middleware' => ['auth', 'web']], function() {
// uses 'auth' middleware plus all middleware from $middlewareGroups['web']
Route::resource('blog','BlogController'); //Make a CRUD controller
});
Run Code Online (Sandbox Code Playgroud)
Ana*_*n K 23
您还可以为路由分配多个中间件:
Route::get('/', function () {
//
})->middleware('first', 'second');
Run Code Online (Sandbox Code Playgroud)
您还可以使用外观的middleware静态方法执行以下操作Route:
Route::middleware(['middleware1', 'middlware2'])
->group(function () {
// Your defined routes go here
});
Run Code Online (Sandbox Code Playgroud)
该middleware方法接受一个中间件的单个字符串,或一组中间件的字符串数组。