我有一个使用Symfony 3.4(和FOS Rest Bundle)框架构建的REST API。我使用带有API密钥的身份验证来对用户(https://symfony.com/doc/3.3/security/api_key_authentication.html)进行身份验证。 我安装了LexikMaintenanceBundle(https://github.com/lexik/LexikMaintenanceBundle)以便向API添加维护模式。
问题在于,始终总是首先进行身份验证,而不是首先检查是否启用了维护模式。通常,维护模式的检查应在身份验证之前首先进行。
如何更改在捆绑软件中创建的侦听器的优先级?也许还有另一种解决方案可以更改它。
感谢您的帮助。
答案 0 :(得分:0)
您可以使用附加标签属性priority
控制执行侦听器的顺序。请参见documentation。数值越大,侦听器执行得越早,默认值为0。
通过在MaintenanceListener
中添加priority
属性,可以赋予LexikMaintenanceBundle/Resources/config/services.xml
更高的优先级(任何正值,例如10):
<tag name="kernel.event_listener" event="kernel.request" method="onKernelRequest" priority="10" />