Laravel如何按路由分组应用自定义中间件,仅让admin前缀的路由生效?
- 内容介绍
- 文章标签
- 相关推荐
本文共计894个文字,预计阅读时间需要4分钟。
全局中间件($middleware 数组)负责处理所有请求的生命周期,包括 API、静态资源以及健康检查等。
常见错误是图省事,在 app/Http/Kernel.php 里把自定义中间件塞进 $middleware,结果登录页、首页、甚至 /storage/logo.png 都被拦截了。
- 正确位置是
$middlewareGroups['web']或新建分组(如'admin') - 如果中间件只用于后台,建议单独建分组,避免和前台逻辑耦合
- 注册后必须在路由定义中显式调用,不会自动继承
路由分组时用 middleware 键指定中间件名
Laravel 路由分组本身不自动加载中间件,必须手动绑定。只写 prefix('admin') 不会触发你的中间件。
本文共计894个文字,预计阅读时间需要4分钟。
全局中间件($middleware 数组)负责处理所有请求的生命周期,包括 API、静态资源以及健康检查等。
常见错误是图省事,在 app/Http/Kernel.php 里把自定义中间件塞进 $middleware,结果登录页、首页、甚至 /storage/logo.png 都被拦截了。
- 正确位置是
$middlewareGroups['web']或新建分组(如'admin') - 如果中间件只用于后台,建议单独建分组,避免和前台逻辑耦合
- 注册后必须在路由定义中显式调用,不会自动继承
路由分组时用 middleware 键指定中间件名
Laravel 路由分组本身不自动加载中间件,必须手动绑定。只写 prefix('admin') 不会触发你的中间件。

