Компонент Symfony Security не может найти параметр - PullRequest
0 голосов
/ 19 октября 2018

В Symfony 3.2 у меня есть пакет, который определяет параметр в его parameters.xml:

<parameter key="acs_platform.security.default_target_route" type="string">platform_login</parameter>

parameters.xml импортируется в services.xml того же пакета.И services.xml загружается в контейнер с помощью Расширения пакета под DependencyInjection.Если я попытаюсь выполнить дамп внутри метода load, я смогу правильно увидеть свой параметр:

    /**
     * Loads a specific configuration.
     *
     * @throws \InvalidArgumentException When provided tag is not defined in this extension
     */
    public function load(array $configs, ContainerBuilder $container)
    {
        $loader = new XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
        $loader->load('services.xml');

        \Doctrine\Common\Util\Debug::dump($container->getParameterBag(), 6); die;
    }

Если я попытаюсь отладить свой контейнер, он верный, я все еще вижу свой параметр:

 php bin/console debug:container --parameters | grep "acs_platform.security.default_target_route"

Проблема возникает, когда я хочу установить этот параметр в безопасности (app/config/security.yml) как default_target_path:

firewalls:
        main:
            anonymous: ~
            guard:
                authenticators:
                    - acs_platform.security.loginform_authenticator
            default_target_path: '%acs_platform.security.default_target_route%'

Я получаю ошибку:

ParameterNotFoundException
You have requested a non-existent parameter "acs_platform.security.default_target_route".

И я не знаю, что я делаю не так.Параметр существует, и компонент безопасности все еще не может его найти.Что не так с моим кодом?

(В том же файле security.yml я использую идентификатор сервиса acs_platform.security.loginform_authenticator, как вы можете видеть, и я также использую провайдера, оба из которых определены в одном и том же services.xmlкоторый импортирует мои parameters.xml, и они оба работают)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...