[SecurityBundle] Drop cache.security_expression_language definition if invalid
This commit is contained in:
parent
b690a4a352
commit
bc96693331
@ -33,5 +33,9 @@ class AddExpressionLanguageProvidersPass implements CompilerPassInterface
|
|||||||
$definition->addMethodCall('registerProvider', [new Reference($id)]);
|
$definition->addMethodCall('registerProvider', [new Reference($id)]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!$container->hasDefinition('cache.system')) {
|
||||||
|
$container->removeDefinition('cache.security_expression_language');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -87,7 +87,7 @@
|
|||||||
<service id="security.user_checker" class="Symfony\Component\Security\Core\User\UserChecker" />
|
<service id="security.user_checker" class="Symfony\Component\Security\Core\User\UserChecker" />
|
||||||
|
|
||||||
<service id="security.expression_language" class="Symfony\Component\Security\Core\Authorization\ExpressionLanguage">
|
<service id="security.expression_language" class="Symfony\Component\Security\Core\Authorization\ExpressionLanguage">
|
||||||
<argument type="service" id="cache.security_expression_language"></argument>
|
<argument type="service" id="cache.security_expression_language" on-invalid="null" />
|
||||||
</service>
|
</service>
|
||||||
|
|
||||||
<service id="security.authentication_utils" class="Symfony\Component\Security\Http\Authentication\AuthenticationUtils" public="true">
|
<service id="security.authentication_utils" class="Symfony\Component\Security\Http\Authentication\AuthenticationUtils" public="true">
|
||||||
|
@ -56,7 +56,7 @@ abstract class CompleteConfigurationTest extends TestCase
|
|||||||
|
|
||||||
// chain provider
|
// chain provider
|
||||||
$this->assertEquals([new IteratorArgument([
|
$this->assertEquals([new IteratorArgument([
|
||||||
new Reference('security.user.provider.concrete.service'),
|
new Reference('user.manager'),
|
||||||
new Reference('security.user.provider.concrete.basic'),
|
new Reference('security.user.provider.concrete.basic'),
|
||||||
])], $container->getDefinition('security.user.provider.concrete.chain')->getArguments());
|
])], $container->getDefinition('security.user.provider.concrete.chain')->getArguments());
|
||||||
}
|
}
|
||||||
@ -70,9 +70,9 @@ abstract class CompleteConfigurationTest extends TestCase
|
|||||||
foreach (array_keys($arguments[1]->getValues()) as $contextId) {
|
foreach (array_keys($arguments[1]->getValues()) as $contextId) {
|
||||||
$contextDef = $container->getDefinition($contextId);
|
$contextDef = $container->getDefinition($contextId);
|
||||||
$arguments = $contextDef->getArguments();
|
$arguments = $contextDef->getArguments();
|
||||||
$listeners[] = array_map('strval', $arguments['index_0']->getValues());
|
$listeners[] = array_map('strval', $arguments[0]->getValues());
|
||||||
|
|
||||||
$configDef = $container->getDefinition((string) $arguments['index_3']);
|
$configDef = $container->getDefinition((string) $arguments[3]);
|
||||||
$configs[] = array_values($configDef->getArguments());
|
$configs[] = array_values($configDef->getArguments());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -87,6 +87,14 @@ abstract class CompleteConfigurationTest extends TestCase
|
|||||||
'security.user_checker',
|
'security.user_checker',
|
||||||
'.security.request_matcher.xmi9dcw',
|
'.security.request_matcher.xmi9dcw',
|
||||||
false,
|
false,
|
||||||
|
false,
|
||||||
|
'',
|
||||||
|
'',
|
||||||
|
'',
|
||||||
|
'',
|
||||||
|
'',
|
||||||
|
[],
|
||||||
|
null,
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'secure',
|
'secure',
|
||||||
@ -657,9 +665,9 @@ abstract class CompleteConfigurationTest extends TestCase
|
|||||||
foreach (array_keys($arguments[1]->getValues()) as $contextId) {
|
foreach (array_keys($arguments[1]->getValues()) as $contextId) {
|
||||||
$contextDef = $container->getDefinition($contextId);
|
$contextDef = $container->getDefinition($contextId);
|
||||||
$arguments = $contextDef->getArguments();
|
$arguments = $contextDef->getArguments();
|
||||||
$listeners[] = array_map('strval', $arguments['index_0']->getValues());
|
$listeners[] = array_map('strval', $arguments[0]->getValues());
|
||||||
|
|
||||||
$configDef = $container->getDefinition((string) $arguments['index_3']);
|
$configDef = $container->getDefinition((string) $arguments[3]);
|
||||||
$configs[] = array_values($configDef->getArguments());
|
$configs[] = array_values($configDef->getArguments());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -708,6 +716,8 @@ abstract class CompleteConfigurationTest extends TestCase
|
|||||||
|
|
||||||
$container = new ContainerBuilder();
|
$container = new ContainerBuilder();
|
||||||
$container->setParameter('kernel.debug', false);
|
$container->setParameter('kernel.debug', false);
|
||||||
|
$container->setParameter('request_listener.http_port', 80);
|
||||||
|
$container->setParameter('request_listener.https_port', 443);
|
||||||
|
|
||||||
$security = new SecurityExtension();
|
$security = new SecurityExtension();
|
||||||
$container->registerExtension($security);
|
$container->registerExtension($security);
|
||||||
@ -716,7 +726,6 @@ abstract class CompleteConfigurationTest extends TestCase
|
|||||||
$bundle->build($container); // Attach all default factories
|
$bundle->build($container); // Attach all default factories
|
||||||
$this->getLoader($container)->load($file);
|
$this->getLoader($container)->load($file);
|
||||||
|
|
||||||
$container->getCompilerPassConfig()->setOptimizationPasses([]);
|
|
||||||
$container->getCompilerPassConfig()->setRemovingPasses([]);
|
$container->getCompilerPassConfig()->setRemovingPasses([]);
|
||||||
$container->getCompilerPassConfig()->setAfterRemovingPasses([]);
|
$container->getCompilerPassConfig()->setAfterRemovingPasses([]);
|
||||||
$container->compile();
|
$container->compile();
|
||||||
|
Reference in New Issue
Block a user