laravel中多个中间件的疑问
在tipask中查看源代码时发现其路由定义没怎么看懂,问下各位朋友:
这是路由代码:
Route::Group(['prefix'=>'admin','namespace'=>'Admin','middleware' =>['auth','auth.admin']],function(){
这里有个疑问:
laravel中多个中间件定义是不是意味着在这里要经过'auth'和'auth.admin'两个中间件?是在中间件'auth’满足了后进入第二个'auth.admin'中间件还是两个同时审核?还是?
有点困惑,希望各位朋友能指点一二。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
恩, 是要经过两个中间件.
laravel实现了管道机制, 即上一个中间件的输出是下一个中间件的输入. 所以是先后顺序执行的.
是,同意楼上。路由中间件是先经过auth过滤下请求,再通过auth.admin中间件过滤请求,传输通道是\Illuminate\Pipeline\Pipeline中send(),through(),then()这几个方法实现。关于中间件可以参考下这篇:Laravel学习笔记之Middleware源码解析