Symfony Security组件找不到参数

时间:2018-10-19 13:13:04

标签: symfony

在Symfony 3.2中,我有一个捆绑包,它在<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

当我想在安全性(firewalls: main: anonymous: ~ guard: authenticators: - acs_platform.security.loginform_authenticator default_target_path: '%acs_platform.security.default_target_route%' )中将此参数设置为default_target_path时,会发生问题:

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

我收到一个错误:

acs_platform.security.loginform_authenticator

我不知道我在做什么错。该参数存在,并且安全组件仍然无法找到它。我的代码有什么问题?

(如您所见,在同一个security.yml文件中,我使用“ services.xml”服务ID,并且我也使用了一个提供程序,它们都在导入我的{{ 1}},它们都可以工作)

0 个答案:

没有答案