我正在尝试为 Symfony2 中的测试环境禁用安全防火墙,但我没有运气。这是我在 config_test.yml 中的内容:
security:
firewalls:
web:
pattern: .*
security: false
anonymous: ~
但是,这不会禁用安全性。有什么想法可以在测试环境中完全禁用某个防火墙的安全性吗?
不要更改security.yml,而是为测试目的制定临时规则。
您必须禁用您的所有安全防火墙配置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
。因此,您必须覆盖测试配置文件上的所有基本配置才能使其正常工作。
正如类似主题中提到的,在您的 security.yml 中开发以下规则时关闭防火墙:
firewalls:
dev:
pattern: ^/
security: false
config.yml
您可以从这部分代码中提取:
imports:
- { resource: security.yml }
并将其分别放在config_dev.yml
和config_prod.yml
中。在这种情况下config_test.yml
,不会导入安全配置,因此您在测试环境中将没有安全性。