通过路由分组可统一应用中间件,提升 Laravel 代码可维护性。1、使用 Route::middleware() 将 auth 和 admin 中间件应用于后台路由;2、结合 prefix 与 middleware 实现带前缀的分组控制,如 api/v1 并限流;3、嵌套分组支持多层中间件叠加,先 auth 登录验证,再 role 判断角色权限,实现精细访问控制。

如果您希望在 Laravel 中对路由进行分组管理,并统一为这些路由应用中间件,可以通过路由分组功能实现集中控制。这样可以避免重复定义中间件,提升代码可维护性。
本文运行环境:MacBook Pro,macOS Sonoma
通过在路由分组中指定 middleware 参数,可以将一个或多个中间件应用于该组内的所有路由。这种方式适用于需要统一权限控制的模块,如后台管理页面。
1、打开 routes/web.php 文件,使用 Route::middleware() 方法包裹需要分组的路由。
2、在闭包内定义属于该组的路由规则,例如管理员相关页面。
3、示例代码如下:
Route::middleware(['auth', 'admin'])->group(function () {
Route::get('/dashboard', [DashboardController::class, 'index']);
Route::get('/users', [UserController::class, 'index']);
});
当前缀与中间件结合使用时,能够更好地组织具有相同路径特征和访问控制要求的路由,比如 API 版本控制或模块化前端页面。
1、使用 prefix 指定统一的路径前缀,同时设置 middleware 选项。
2、将需要归类的路由写入 group 的闭包中。
3、示例代码如下:
Route::prefix('api/v1')->middleware('throttle:60,1')->group(function () {
Route::get('/posts', [PostController::class, 'index']);
Route::post('/posts', [PostController::class, 'store']);
});
当某些路由需要叠加多个中间件条件时,可通过嵌套分组实现更细粒度的控制,例如先验证用户登录,再判断角色权限。
1、在外层分组中应用基础中间件,如 auth。
2、在内层再次使用 middleware() 添加额外中间件,形成权限叠加效果。
3、示例代码如下:
Route::middleware(['auth'])->group(function () {
Route::middleware(['role:admin'])->group(function () {
Route::get('/settings', [SettingController::class, 'index']);
});
});
以上就是laravel怎么为路由分组并应用中间件_laravel路由分组与中间件应用方法的详细内容,更多请关注php中文网其它相关文章!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号