Конфигурация security.firewalls.dev:
используется в любой среде Symfony (dev, test, prod)!
В 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): '^/(_(profiler|wdt)|css|images|js)/|^/docs'
Теперь /docs
доступен только без брандмауэра в среде разработчика Symfony
Переопределить с помощью переменных среды:
Вы также можете переопределить SECURITY_DEV_PATTERN
в файле .env
:
SECURITY_DEV_PATTERN=^/(_(profiler|wdt)|css|images|js)/|^/docs
Это работает, только если вы не включите .env
в вашей производственной среде, или если вы специально переопределяете переменную среды SECURITY_DEV_PATTERN
там же.