我试图在Symfony2中为测试环境禁用安全防火墙,但我没有运气。这是我在config_test.yml中的内容:
security:
firewalls:
web:
pattern: .*
security: false
anonymous: ~
但是,这并不会禁用安全性。任何想法如何在测试环境中完全禁用某个防火墙的安全性?
答案 0 :(得分:5)
您可以从config.yml
这部分代码中提取:
imports:
- { resource: security.yml }
并将其单独添加到config_dev.yml
和config_prod.yml
。在这种情况下,config_test.yml
将不会导入安全配置,因此,您将无法在测试环境中使用安全性。
答案 1 :(得分:5)
请勿更改 security.yml ,而是制作 ad hoc 规则以进行测试。
您必须在 config_test.yml 上禁用所有安全防火墙配置:
imports:
- { resource: config_dev.yml }
framework:
test: ~
session:
storage_id: session.storage.mock_file
profiler:
collect: false
web_profiler:
toolbar: false
intercept_redirects: false
swiftmailer:
disable_delivery: true
security:
firewalls:
dev:
pattern: ^/
security: false
注意强>
请注意config_test.yml
导入config_dev.yml
,导入config.yml
。因此,您必须覆盖测试配置文件上的所有基本配置才能使其正常工作。
答案 2 :(得分:2)
正如类似主题turn off firewall when developing中所述,在您的security.yml中添加了以下规则:
firewalls:
dev:
pattern: ^/
security: false