swoft-cloud / swoft

🚀 PHP Microservice Full Coroutine Framework
https://swoft.org
Apache License 2.0
5.58k stars 786 forks source link

swoft2.0中间件建议:将UserMiddleware拆分路由解析和路由处理两部分 #686

Closed hihozhou closed 5 years ago

hihozhou commented 5 years ago
Q A
Bug report? no
Swoft version master(2.x)
Swoole version 4.3.3
PHP version 7.2.17
Runtime environment Ubuntu 18.04.

我的需求

1.我定义了一个是否登录的中间件auth(没登录就跳转到登录页面) 2.我定义了http全局中间件auth 3.当请求不存在的路由时候,会进到auth中间件,都会跳转登录页面,正常应该是显示404(所以我这里是判断他路由是否定义了,才进行验证)

建议

可以考虑将swoft框架中Swoft\Http\Server\Middleware\UserMiddleware拆分成路由解析路由处理两部分,这样可以第一个最先验证路由不存在

image

image

sakuraovq commented 5 years ago

good idea