No pude encontrar una manera de incluir diferentes archivos security.yml
que se incluirían dependiendo del entorno de Symfony2. Por ejemplo, quería tener un proveedor de usuarios en memoria para mis pruebas de aceptación, porque realmente no necesito probar mis entidades y esas cosas aquí, solo quiero hacer una prueba de aceptación para mis puntos de vista.Diferentes archivos security.yml para diferentes entornos
Pero, como resultó, no es algo fácil de hacer. Quité security.yml
de incluye en mi config.yml
, lo renombré a security_prod.yml
y creé un security_test.yml
que tiene el proveedor de usuario in_memory
. Luego he incluido security_prod.yml
y security_test.yml
en mis configuraciones de producción y prueba, respectivamente.
Sin embargo, no parece funcionar en absoluto:
$ SYMFONY_ENV=test app/console cache:clear
[Symfony\Component\Config\Definition\Exception\InvalidConfigurationException]
You are not allowed to define new elements for path "security.providers". Please define all elements for this path in one config file.
$ SYMFONY_ENV=prod app/console cache:clear
[Symfony\Component\Config\Definition\Exception\ForbiddenOverwriteException]
Configuration path "security.access_control" cannot be overwritten. You have to define all options for this path, and any of its sub-paths in one
configuration section.
Se me apareció como el nombre del archivo security.yml
fue codificado (que sería demasiado raro para Symfony), y no fue.
Entonces la pregunta es: ¿cómo consigo múltiples security.yml
s con Symfony? ¿Y qué podría estar causando este comportamiento?
Se puede publicar su config_prod.yml config.yml y config_test.yml (o al menos las partes donde se incluyen los archivos)? –
@CarlosGranados, gracias por su preocupación, pero resultó que el problema se encontró sentado en la silla de mi oficina. Estuve incluyendo mis security.ymls dos veces :) – kix
Eso es lo que sospechaba, y es por eso que te pedí que publicaras esos archivos –