8000 bug #18566 [SecurityBundle] fixed DebugAccessDecisionManager config (… · symfony/symfony@cc8c5b5 · GitHub
[go: up one dir, main page]

Skip to content

Commit cc8c5b5

Browse files
committed
bug #18566 [SecurityBundle] fixed DebugAccessDecisionManager config (HeahDude)
This PR was squashed before being merged into the 3.1-dev branch (closes #18566). Discussion ---------- [SecurityBundle] fixed DebugAccessDecisionManager config | Q | A | ------------- | --- | Branch? | master | Bug fix? | yes | New feature? | no | BC breaks? | no | Deprecations? | no | Tests pass? | yes | Fixed tickets | #18554 | License | MIT | Doc PR | ~ Commits ------- 53c78fe [SecurityBundle] fixed DebugAccessDecisionManager config
2 parents ee679bf + 53c78fe commit cc8c5b5

File tree

3 files changed

+10
-12
lines changed

3 files changed

+10
-12
lines changed

src/Symfony/Bundle/SecurityBundle/DependencyInjection/Compiler/AddSecurityVotersPass.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,10 @@ public function process(ContainerBuilder $container)
4545
throw new LogicException('No security voters found. You need to tag at least one with "security.voter"');
4646
}
4747

48-
$container->getDefinition('security.access.decision_manager')->addMethodCall('setVoters', array(array_values($voters)));
49-
50-
if ($container->hasDefinition('debug.security.access.decision_manager')) {
51-
$container->getDefinition('debug.security.access.decision_manager')->addMethodCall('setVoters', array(array_values($voters)));
52-
}
48+
$adm = $container->hasDefinition('debug.security.access.decision_manager')
49+
? $container->getDefinition('debug.security.access.decision_manager')
50+
: $container->getDefinition('security.access.decision_manager')
51+
;
52+
$adm->addMethodCall('setVoters', array(array_values($voters)));
5353
}
5454
}

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

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,10 @@ public function load(array $configs, ContainerBuilder $container)
6666
$loader->load('collectors.xml');
6767
$loader->load('guard.xml');
6868

69+
if ($container->hasParameter('kernel.debug') && $container->getParameter('kernel.debug')) {
70+
$loader->load('security_debug.xml');
71+
}
72+
6973
if (!class_exists('Symfony\Component\ExpressionLanguage\ExpressionLanguage')) {
7074
$container->removeDefinition('security.expression_language');
7175
$container->removeDefinition('security.access.expression_voter');
@@ -97,13 +101,6 @@ public function load(array $configs, ContainerBuilder $container)
97101
$this->aclLoad($config['acl'], $container);
98102
}
99103

100-
if ($container->hasParameter('kernel.debug') && $container->getParameter('kernel.debug')) {
101-
$loader->load('security_debug.xml');
102-
103-
$definition = $container->findDefinition('security.authorization_checker');
104-
$definition->replaceArgument(2, new Reference('debug.security.access.decision_manager'));
105-
}
106-
107104
// add some required classes for compilation
108105
$this->addClassesToCompile(array(
109106
'Symfony\Component\Security\Http\Firewall',

src/Symfony/Component/Security/Core/Authorization/DebugAccessDecisionManager.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ public function decide(TokenInterface $token, array $attributes, $object = null)
6161
public function setVoters(array $voters)
6262
{
6363
$this->voters = $voters;
64+
$this->manager->setVoters($voters);
6465
}
6566

6667
/**

0 commit comments

Comments
 (0)
0