我想将登录用户的ID包含在我的记录器中。
所以我添加了monolog.processor
,将用户ID添加到记录的“额外”部分,并添加了一个显示ID的自定义格式字符串。
在我的开发环境中,这(大部分)按预期工作,但在测试环境中它根本不起作用,TokenStorage
总是在null
上返回getToken()
。
开发或测试没有特定的security
配置。配置之间的最大区别是这部分:
framework:
test: ~
session:
storage_id: session.storage.mock_file
profiler:
collect: false
我已将此添加到我的dev配置但无法重现症状。我只能通过让symfony认为它真的在测试中来重现。
说实话,我甚至不知道从哪里开始调试这个。
任何可能导致此行为的想法?
我有什么想法可以调试这个,所以我可以得到答案吗?
答案 0 :(得分:-1)
为了拥有一个令牌,你应该进入symfony防火墙。
如果任何防火墙与URI不匹配,则不会触发symfony安全性,也不会有令牌。
如果是公共区域,则允许来自root' / *'的匿名用户并为其余的URI(或操作)使用ACL。匿名用户将具有IS_AUTHENTICATED_ANONYMOUSLY
角色# app/config/security.yml
security:
firewalls:
main:
pattern: ^/
anonymous: ~