2017-06-19 33 views
1

我想將登錄用戶的ID包含到我的記錄器中。 因此我添加了一個monolog.processor,它將用戶標識添加到記錄的「額外」部分,並添加了一個顯示該標識的自定義格式字符串。TokenStorage在測試環境中沒有令牌

在我的開發環境這部作品(大部分)如預期,但在測試環境中它不會在所有的工作中,TokenStorage總是返回上getToken()null

有沒有具體的security CONFIGS用於開發或測試。配置之間的最大區別是這部分:

framework: 
    test: ~ 
    session: 
    storage_id: session.storage.mock_file 
    profiler: 
    collect: false 

我已經添加到我的開發配置,但無法重現症狀。我只能通過讓symfony認爲它真的在測試中複製。

說實話,我甚至不知道從哪裏開始調試此。

任何想法可能會導致這種行爲?
任何想法我可以調試這個,所以我可以得到一個答案?

回答

-1

爲了有你應該在裏面symfony的防火牆的信物。

如果有任何的防火牆不是由URI匹配,symfony的安全性沒有被觸發,你會不會有一個令牌。

如果它是一個公共區域允許匿名用戶從根目錄「/ *」,並使用ACL的URI(或行爲)的其餘部分。匿名用戶將有作用IS_AUTHENTICATED_ANONYMOUSLY

# app/config/security.yml 
security: 
    firewalls: 
     main: 
      pattern: ^/ 
      anonymous: ~ 

文檔: http://symfony.com/doc/current/security.html

+0

嗯,是,我明白。而且我也在我的問題中聲明:'在我的開發環境中,這個工作(大部分)如預期的那樣工作'。 –

+0

如果您確定這不是配置文件中的問題。檢查您在AppKernel上的開發中使用的軟件包。我假設你清除所有環境的symfony緩存,並嘗試使用chrome私有模式使用新的cookie進行測試。 – albert