Я пытаюсь отключить брандмауэр безопасности для тестовой среды в Symfony2, но мне не повезло. Вот что я имею в config_test.yml:
security: firewalls: web: pattern: .* security: false anonymous: ~
Однако это не отключает безопасность. Любые идеи, как я могу полностью отключить безопасность для определенного брандмауэра, когда в тестовом env?
Как упоминалось в аналогичной теме, отключите брандмауэр при разработке следующего правила в вашем security.yml:
firewalls: dev: pattern: ^/ security: false
Вы можете извлечь из config.yml
эту часть кода:
imports: - { resource: security.yml }
И поместите его отдельно в config_dev.yml
и config_prod.yml
. В этом случае config_test.yml
не будет импортировать конфигурацию безопасности, и в результате у вас не будет безопасности в тестовой среде.
Не меняйте 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
. Поэтому вы должны переопределить всю базовую конфигурацию в тестовом конфигурационном файле, чтобы он работал.