Symfony 2 - 在侦听器之前调用UrlGenerator :: doGenerate

时间:2011-11-16 13:12:22

标签: exception login symfony listener redirect

我想在上下文中添加一个参数,所以当调用login时我可以在路由中使用它(类似于_locale)。 我可以在HttpUtils.php中添加这段代码(作为resetLocale),但我觉得它不是很干净。我需要它的原因是防火墙重定向到登录控制器,我希望在其路由中有一个自定义参数。

我的问题是我的听众在调用UrlGenerator::doGenerate后被调用,所以我得到MissingMandatoryParametersException

以下是我的config.yml相关代码:

services:
    mycompany.demobundle.listener.request:
        class: MyCompany\DemoBundle\RequestListener
        arguments: [@router, @security.context]
        tags:
            - { name: kernel.event_listener, event: kernel.request, method: onKernelRequest }

任何想法???

2 个答案:

答案 0 :(得分:2)

您是否尝试过操纵priority选项?

tags:
   - { name: kernel.event_listener, event: kernel.request, priority: 0, method: onKernelRequest }

答案 1 :(得分:0)

是的,您应该使用优先级选项,它可以是 -255到255