Symfony:捆绑中的侦听器优先级

问题描述 投票:0回答:1

我有一个使用框架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添加维护模式。

问题是始终首先完成身份验证,而不是首先检查是否启用了维护模式。通常,应在验证之前首先检查维护模式。

如何更改捆绑中创建的侦听器的优先级?或者可能有另一种解决方案来改变它。

谢谢你的帮助。

symfony listener
1个回答
0
投票

您可以使用附加标记属性priority控制执行侦听器的顺序。见documentation。执行侦听器越早,数字越大,默认值为0。

您可以通过在MaintenanceListener中添加priority属性,为LexikMaintenanceBundle/Resources/config/services.xml赋予更高的优先级(任何正值,例如10):

<tag name="kernel.event_listener" event="kernel.request" method="onKernelRequest" priority="10" />

© www.soinside.com 2019 - 2024. All rights reserved.