How about using an environment variable?
.env.dev
file (also test and prod)
LOGIN_PATH="/login"
security.yaml
file
access_control:
- { path: '^%env(LOGIN_PATH)%', allow_if: 'is_anonymous()'}
- { path: ^/, roles: ROLE_USER}
routes.yaml
file:
login:
path: '%env(LOGIN_PATH)%'
controller: App\Controller\SecurityController::login
don't know if it'll work but it should work.
Reference: https://symfony.com/doc/current/configuration/environment_variables.html#environment-variable-processors
Otherwise, it seems you can't reference a route configuration inside security.yaml
file. To test it yourself, put:
var_dump($this->parameters);
inside vendor\symfony\dependency-injection\ParameterBag\ParameterBag.php line 71
just at the beginning of the get($name)
method, you can see the defined parameters when you run:
php bin/console config:dump-reference security
command. And there doesn't seem a parameter defined in the parameterbag related with the defined routes.