基于当前主机向 Symfony 防火墙添加一个参数

Add one parameter to a Symfony firewall based on current host

在生产服务器上部署我的网站(运行ning 在 Symfony 2.7 上)之前,我在开发服务器上进行(但也在 prod 环境中)。因为我不想让任何人看到它,所以我想使用简单的 HTTP 基本身份验证来保护它。

我看到我可以将 host parameter 添加到防火墙,这样它只适用于站点在给定主机上的 运行 时。看起来这对我有帮助,但据我所知,我必须复制我的防火墙,这不是很有趣(DRY):

firewalls:
    main:
        host: www\.mysite\.com
        pattern: ^/
        form_login:
            // ...
        logout:
            // ...
        anonymous: true
        remember_me:
            key: %secret%

    main_dev:
        host: dev\.mysite\.com
        http_basic: true
        // paste here the exact same content as in `main`

是否有不涉及维护两个相同防火墙的解决方案?

我建议使用两个不同的配置文件,参见:http://symfony.com/doc/current/cookbook/configuration/configuration_organization.html

所以有一个 security.yml 和一个 security_dev.yml -> 你所有的阶段都使用 security.yml 并且只有在开发中你有你的 additional/different 参数加载。