我可以通过Lumen在中间件中获取当前路线信息吗?

杰森·W

我需要在中间件中拥有当前找到的控制器和操作,以便可以进行一些身份验证。但是我发现这是不可能的,因为管道就像Middleware1-> Middleware2->执行调度-> controller @ action()-> Middleware2-> Middleware1。

因此,在调度之前,我无法获取路线信息。在$ controller-> action()之后执行此操作绝对是不正确的。

我做了一些研究,发现了这一点。

$allRoutes = $this->app->getRoutes();
$method = \Request::getMethod();
$pathInfo = \Request::getPathInfo();
$currentRoute = $allRoutes[$method.$pathInfo]['action']['uses'];

但这在访问URI之类的方法时不起作用app/role/1,因为$allRoutes仅具有索引app/role/{id}而不是app/role/1

有什么解决方法吗?

杰森·W

我找到了这个问题的正确答案。我错过了一种名为routeMiddleware()方法Application此方法注册特定于路由的中间件,该中间件在分派后调用。因此,只需使用$app->routeMiddleware()即可注册您的中间件。$request->route()在您的中间件中获取匹配的路线信息

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从Laravel 5中的中间件获取当前路线动作名称

来自分类Dev

在中间件中获取Laravel当前路由组

来自分类Dev

Slim 3在中间件中获取当前路由

来自分类Dev

在中间件中获取当前授权用户

来自分类Dev

我可以在中间件上使用动态模型吗?

来自分类Dev

可以通过 Express 中的中间件添加“app”方法吗?

来自分类Dev

路线:: Auth不在中间件中

来自分类Dev

在Ember中获取当前路线名称

来自分类Dev

节点通行证定制回调可以作为快递路线的中间件吗?

来自分类Dev

节点通行证定制回调可以作为快递路线的中间件吗?

来自分类Dev

我可以在较旧的MVC3应用程序中运行OWIN中间件吗

来自分类Dev

烧瓶:获取当前路线

来自分类Dev

中间件中的laravel / lumen访问.env值

来自分类Dev

在中间件中获取路由定义

来自分类Dev

在中间件Laravel中获取URL

来自分类Dev

在中间件中获取路由定义

来自分类Dev

不包括Slim路线中的中间件

来自分类Dev

如何在.Net Core中间件中获取当前子域?

来自分类Dev

如何在中间件.Net Core Web API中获取当前的User / ClaimsPrincipal

来自分类Dev

如何在.Net Core中间件中获取当前子域?

来自分类Dev

我可以按任何顺序将中间件应用到应用程序吗?

来自分类Dev

如果没有Redux Thunk中间件,我可以调度多个动作吗?

来自分类Dev

我们可以回到 .net 核心中间件管道吗

来自分类Dev

在我的NestJs中间件设置中未收到任何请求信息

来自分类Dev

在Ember组件中获取当前路线的模型

来自分类Dev

如何在Aurelia html模板中获取当前路线?

来自分类Dev

如何在Sinatra中获取当前路径/路线?

来自分类Dev

获取Angular Interceptors中的当前路线

来自分类Dev

OWIN中间件可以使用http会话吗?

Related 相关文章

  1. 1

    从Laravel 5中的中间件获取当前路线动作名称

  2. 2

    在中间件中获取Laravel当前路由组

  3. 3

    Slim 3在中间件中获取当前路由

  4. 4

    在中间件中获取当前授权用户

  5. 5

    我可以在中间件上使用动态模型吗?

  6. 6

    可以通过 Express 中的中间件添加“app”方法吗?

  7. 7

    路线:: Auth不在中间件中

  8. 8

    在Ember中获取当前路线名称

  9. 9

    节点通行证定制回调可以作为快递路线的中间件吗?

  10. 10

    节点通行证定制回调可以作为快递路线的中间件吗?

  11. 11

    我可以在较旧的MVC3应用程序中运行OWIN中间件吗

  12. 12

    烧瓶:获取当前路线

  13. 13

    中间件中的laravel / lumen访问.env值

  14. 14

    在中间件中获取路由定义

  15. 15

    在中间件Laravel中获取URL

  16. 16

    在中间件中获取路由定义

  17. 17

    不包括Slim路线中的中间件

  18. 18

    如何在.Net Core中间件中获取当前子域?

  19. 19

    如何在中间件.Net Core Web API中获取当前的User / ClaimsPrincipal

  20. 20

    如何在.Net Core中间件中获取当前子域?

  21. 21

    我可以按任何顺序将中间件应用到应用程序吗?

  22. 22

    如果没有Redux Thunk中间件,我可以调度多个动作吗?

  23. 23

    我们可以回到 .net 核心中间件管道吗

  24. 24

    在我的NestJs中间件设置中未收到任何请求信息

  25. 25

    在Ember组件中获取当前路线的模型

  26. 26

    如何在Aurelia html模板中获取当前路线?

  27. 27

    如何在Sinatra中获取当前路径/路线?

  28. 28

    获取Angular Interceptors中的当前路线

  29. 29

    OWIN中间件可以使用http会话吗?

热门标签

归档