From ff76d2653d18353707ba327b21d547e9b142ab34 Mon Sep 17 00:00:00 2001 From: Antoine Lamirault Date: Sat, 29 Oct 2022 17:09:21 +0200 Subject: [PATCH] [SecurityBundle] Deprecate enabling bundle and not configuring it --- UPGRADE-6.3.md | 7 +++++++ src/Symfony/Bundle/SecurityBundle/CHANGELOG.md | 5 +++++ .../DependencyInjection/SecurityExtension.php | 4 ++++ .../SecurityExtensionTest.php | 16 ++++++++++++++++ .../Functional/app/AliasedEvents/config.yml | 8 ++++++++ 5 files changed, 40 insertions(+) create mode 100644 UPGRADE-6.3.md diff --git a/UPGRADE-6.3.md b/UPGRADE-6.3.md new file mode 100644 index 0000000000000..e1655bfa81b62 --- /dev/null +++ b/UPGRADE-6.3.md @@ -0,0 +1,7 @@ +UPGRADE FROM 6.2 to 6.3 +======================= + +SecurityBundle +-------------- + + * Deprecate enabling bundle and not configuring it diff --git a/src/Symfony/Bundle/SecurityBundle/CHANGELOG.md b/src/Symfony/Bundle/SecurityBundle/CHANGELOG.md index dcefe374dda4c..a1ffdb0349c3a 100644 --- a/src/Symfony/Bundle/SecurityBundle/CHANGELOG.md +++ b/src/Symfony/Bundle/SecurityBundle/CHANGELOG.md @@ -1,6 +1,11 @@ CHANGELOG ========= +6.3 +--- + + * Deprecate enabling bundle and not configuring it + 6.2 --- diff --git a/src/Symfony/Bundle/SecurityBundle/DependencyInjection/SecurityExtension.php b/src/Symfony/Bundle/SecurityBundle/DependencyInjection/SecurityExtension.php index cd514bb44367d..6b91a65d14ae7 100644 --- a/src/Symfony/Bundle/SecurityBundle/DependencyInjection/SecurityExtension.php +++ b/src/Symfony/Bundle/SecurityBundle/DependencyInjection/SecurityExtension.php @@ -15,6 +15,7 @@ use Symfony\Bundle\SecurityBundle\DependencyInjection\Security\Factory\AuthenticatorFactoryInterface; use Symfony\Bundle\SecurityBundle\DependencyInjection\Security\Factory\FirewallListenerFactoryInterface; use Symfony\Bundle\SecurityBundle\DependencyInjection\Security\UserProvider\UserProviderFactoryInterface; +use Symfony\Bundle\SecurityBundle\SecurityBundle; use Symfony\Component\Config\Definition\ConfigurationInterface; use Symfony\Component\Config\Definition\Exception\InvalidConfigurationException; use Symfony\Component\Config\FileLocator; @@ -88,6 +89,9 @@ public function prepend(ContainerBuilder $container) public function load(array $configs, ContainerBuilder $container) { if (!array_filter($configs)) { + trigger_deprecation('symfony/security-bundle', '6.3', 'Enabling bundle "%s" and not configuring it is deprecated.', SecurityBundle::class); + // uncomment the following line in 7.0 + // throw new InvalidArgumentException(sprintf('Enabling bundle "%s" and not configuring it is not allowed.', SecurityBundle::class)); return; } diff --git a/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/SecurityExtensionTest.php b/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/SecurityExtensionTest.php index bcfb169ea321d..227d126db33e2 100644 --- a/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/SecurityExtensionTest.php +++ b/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/SecurityExtensionTest.php @@ -848,6 +848,22 @@ public function testConfigureCustomFirewallListener() $this->assertContains('custom_firewall_listener_id', $firewallListeners); } + /** + * @group legacy + */ + public function testNothingDoneWithEmptyConfiguration() + { + $container = $this->getRawContainer(); + + $container->loadFromExtension('security'); + + $this->expectDeprecation('Since symfony/security-bundle 6.3: Enabling bundle "Symfony\Bundle\SecurityBundle\SecurityBundle" and not configuring it is deprecated.'); + + $container->compile(); + + $this->assertFalse($container->has('security.authorization_checker')); + } + protected function getRawContainer() { $container = new ContainerBuilder(); diff --git a/src/Symfony/Bundle/SecurityBundle/Tests/Functional/app/AliasedEvents/config.yml b/src/Symfony/Bundle/SecurityBundle/Tests/Functional/app/AliasedEvents/config.yml index bdd94fd0afaa7..290804e61cbe6 100644 --- a/src/Symfony/Bundle/SecurityBundle/Tests/Functional/app/AliasedEvents/config.yml +++ b/src/Symfony/Bundle/SecurityBundle/Tests/Functional/app/AliasedEvents/config.yml @@ -1,2 +1,10 @@ imports: - { resource: ./../config/framework.yml } + +security: + providers: + dummy: + memory: ~ + firewalls: + dummy: + security: false