Skip to content

Commit 7f43681

Browse files
author
Robin Chalas
committed
bug symfony#32379 [SecurityBundle] conditionally register services (xabbuh)
This PR was merged into the 3.4 branch. Discussion ---------- [SecurityBundle] conditionally register services | Q | A | ------------- | --- | Branch? | 3.4 | Bug fix? | yes | New feature? | no | BC breaks? | no | Deprecations? | no | Tests pass? | yes | Fixed tickets | symfony#32342 | License | MIT | Doc PR | Commits ------- 8fbcdf2 conditionally register services
2 parents d9833ac + 8fbcdf2 commit 7f43681

File tree

1 file changed

+14
-4
lines changed

1 file changed

+14
-4
lines changed

src/Symfony/Bundle/SecurityBundle/DependencyInjection/SecurityExtension.php

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@
2828
use Symfony\Component\Security\Core\Authorization\ExpressionLanguage;
2929
use Symfony\Component\Security\Core\Authorization\Voter\VoterInterface;
3030
use Symfony\Component\Security\Core\Encoder\Argon2iPasswordEncoder;
31+
use Symfony\Component\Templating\Helper\Helper;
32+
use Twig\Extension\AbstractExtension;
3133

3234
/**
3335
* SecurityExtension.
@@ -69,8 +71,18 @@ public function load(array $configs, ContainerBuilder $container)
6971
$loader->load('security.xml');
7072
$loader->load('security_listeners.xml');
7173
$loader->load('security_rememberme.xml');
72-
$loader->load('templating_php.xml');
73-
$loader->load('templating_twig.xml');
74+
75+
if (class_exists(Helper::class)) {
76+
$loader->load('templating_php.xml');
77+
78+
$container->getDefinition('templating.helper.logout_url')->setPrivate(true);
79+
$container->getDefinition('templating.helper.security')->setPrivate(true);
80+
}
81+
82+
if (class_exists(AbstractExtension::class)) {
83+
$loader->load('templating_twig.xml');
84+
}
85+
7486
$loader->load('collectors.xml');
7587
$loader->load('guard.xml');
7688

@@ -79,8 +91,6 @@ public function load(array $configs, ContainerBuilder $container)
7991
$container->getDefinition('security.firewall.context')->setPrivate(true);
8092
$container->getDefinition('security.validator.user_password')->setPrivate(true);
8193
$container->getDefinition('security.rememberme.response_listener')->setPrivate(true);
82-
$container->getDefinition('templating.helper.logout_url')->setPrivate(true);
83-
$container->getDefinition('templating.helper.security')->setPrivate(true);
8494
$container->getAlias('security.encoder_factory')->setPrivate(true);
8595

8696
if ($container->hasParameter('kernel.debug') && $container->getParameter('kernel.debug')) {

0 commit comments

Comments
 (0)