Mezzio 基于mvc的中间件与认证

Mezzio 基于mvc的中间件与认证,mezzio,laminas,Mezzio,Laminas,我有一个旧的ZF(实际上是ZF1)应用程序,所以我决定玩一下laminas/mezzio,看看它是如何工作的,以及是否可以进行更新。因此,由于它是一个旧的ZF1应用程序,laminas mvc似乎是一种发展趋势,因此我开始使用它。我很快就把它拿了起来,但很快当我开始伸展时,我撞到了一堵墙。我认为文档提供了技术指南,但我缺少一些概念性的见解以及如何连接不同的部分 我真正想要实现的第一件事是身份验证。只是一个POC。我想中间件是首先要看的地方,但我很快就被卡住了。通常使用中间件。查看laminas

我有一个旧的ZF(实际上是ZF1)应用程序,所以我决定玩一下laminas/mezzio,看看它是如何工作的,以及是否可以进行更新。因此,由于它是一个旧的ZF1应用程序,
laminas mvc
似乎是一种发展趋势,因此我开始使用它。我很快就把它拿了起来,但很快当我开始伸展时,我撞到了一堵墙。我认为文档提供了技术指南,但我缺少一些概念性的见解以及如何连接不同的部分

我真正想要实现的第一件事是身份验证。只是一个POC。我想中间件是首先要看的地方,但我很快就被卡住了。通常使用中间件。查看
laminas mvc
的文档,仅指向
laminas mvc中间件
,它提供了一种使用已定义的中间件替换控制器调度的方法。但是为什么我要使用MVC然后更换控制器,我想在上面使用中间件,否则我只能使用
mezzio
。说到
mezzio
,它的文档也没有帮助,因为中间件的实例化和处理方式似乎与
lamas mvc
中的方式有很大不同

我还研究了《渴望》中的
lamis身份验证
,它将为我的问题提供一个临时解决方案。但它也缺少如何与
laminas mvc
应用程序集成的部分

因此,本质上我的问题是:

  • 如何在不丢失控制器调度机制的情况下集成中间件
  • 如果我不使用中间件的话会更好,那么您将如何设置类似于
    lamas身份验证
  • 如果2为真,如何使用现有的解决方案,如mezzios认证中间件

  • 首先,请注意,我从未使用过Laminas,以下是基于我对Laminas文档的理解,我的个人观点。To(1):文档页面和组件文档详细描述了如何将中间件集成到laminas mvc项目中。原则上,您应该安装组件,创建中间件类(或使用外部类)然后在
    默认值
    项中使用以下键/值对定义路由:
    控制器=>PipeSpec::class,'middleware'=>::class
    。到(2):嗯,您最好使用。另见。无论如何,如果您决定不使用中间件:组件似乎被定义为服务。所以,它应该是可以注入控制器的,没有任何问题。然后,您将按照我的第一条评论中所述进行集成。祝你好运我发现你的问题很有趣。顺便说一下,也许你会发现这篇文章很有趣:。