8

我正在尝试为 Symfony2 中的测试环境禁用安全防火墙,但我没有运气。这是我在 config_test.yml 中的内容:

security:
    firewalls:
        web:
            pattern: .*
            security: false
            anonymous: ~

但是,这不会禁用安全性。有什么想法可以在测试环境中完全禁用某个防火墙的安全性吗?

4

3 回答 3

7

不要更改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。因此,您必须覆盖测试配置文件上的所有基本配置才能使其正常工作。

于 2017-01-17T10:28:25.337 回答
6

正如类似主题中提到的,在您的 security.yml 中开发以下规则时关闭防火墙:

firewalls:
    dev:
        pattern:  ^/
        security: false
于 2014-11-04T18:04:42.563 回答
5

可能的解决方案

config.yml您可以从这部分代码中提取:

imports:
    - { resource: security.yml }

并将其分别放在config_dev.ymlconfig_prod.yml中。在这种情况下config_test.yml,不会导入安全配置,因此您在测试环境中将没有安全性。

于 2012-07-26T18:47:02.807 回答