关注this tutorial我正在使用symfony身份验证/授权架构开发Web应用程序。
在设计整个结构(路线,页面和安全级别)后,我陷入困境:如何在不输入凭据的情况下开发我的页面?有没有办法禁用或关闭整个防火墙功能?我应该使用数据夹具吗?
答案 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
环境变量时,此方法才有效。