2011-11-16 22 views
0

我想添加到上下文中的一個參數,所以當調用登錄時,我可以在路由中使用它(類似於_locale)。 我可以在HttpUtils.php(如resetLocale)中添加這段代碼,但是我不覺得它很乾淨。我需要的原因是防火牆重定向到登錄控制器,我希望在其路由中有一個定製的參數。Symfony 2 - UrlGenerator :: doGenerate在收聽者之前調用

我的問題是我的聽衆在撥打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

您是否試過操作priority選項?

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

只是做,它不會幫助 - 仍然得到同樣的例外。 – guyaloni

+0

好吧,優先:100000'它的工作原理,我想有可能有一個較低的優先級,它仍然會工作。 我嘗試從我的偵聽器和UrlGenerator打印一些調試消息,但發現很難跟蹤。無論如何,現在它工作,謝謝! – guyaloni

+0

其實我剛剛檢查過...非常威懾。 當我給'優先級:64',它工作正常。當我給它63時,它只需跳過登錄面板並顯示受保護的頁面。不明白它... – guyaloni

0

是的,你應該使用優先選項也可以是從-255到255

相關問題