使用Symfony2在早期阶段开发时关闭防火墙?

时间:2011-11-17 21:25:04

标签: authentication authorization symfony

关注this tutorial我正在使用symfony身份验证/授权架构开发Web应用程序。

在设计整个结构(路线,页面和安全级别)后,我陷入困境:如何在不输入凭据的情况下开发我的页面?有没有办法禁用或关闭整个防火墙功能?我应该使用数据夹具吗?

2 个答案:

答案 0 :(得分:7)

app/config/security.yml文件的firewalls配置选项下添加或修改dev ...

firewalls:
    dev:
        pattern:  ^/
        security: false

答案 1 :(得分:0)

在每个Symfony环境(开发,测试,生产)中都使用security.firewalls.dev:配置!

在Symfony 4 中,要在开发环境中为所有路由禁用防火墙,可以执行以下操作:

设置:

config/packages/security.yaml

parameters:
    # Adds a fallback SECURITY_DEV_PATTERN if the env var is not set.
    env(SECURITY_DEV_PATTERN): '^/(_(profiler|wdt)|css|images|js)/'

security:
    firewalls:
        dev:
            pattern: '%env(SECURITY_DEV_PATTERN)%'
            security: false

按Symfony环境覆盖:

创建一个新文件config/packages/dev/parameters.yaml

parameters:
    env(SECURITY_DEV_PATTERN): '^/'

现在,在Symfony开发环境中,无需防火墙即可访问所有路由

使用环境变量覆盖:

您还可以覆盖SECURITY_DEV_PATTERN文件中的.env

SECURITY_DEV_PATTERN=^/

仅当您不在生产环境中包含.env或在其中特别覆盖SECURITY_DEV_PATTERN环境变量时,此方法才有效。