Przeglądaj źródła

[SecurityBundle] fixed a regression

Johannes M. Schmitt 14 lat temu
rodzic
commit
9ad318546d

+ 20 - 21
src/Symfony/Bundle/SecurityBundle/DependencyInjection/Security/Factory/RememberMeFactory.php

@@ -70,34 +70,33 @@ class RememberMeFactory implements SecurityFactoryInterface
         $rememberMeServices->replaceArgument(3, array_intersect_key($config, $this->options));
 
         // attach to remember-me aware listeners
-        if (!$config['user_providers']) {
-            $userProviders = array();
-            foreach ($container->findTaggedServiceIds('security.remember_me_aware') as $serviceId => $attributes) {
-                foreach ($attributes as $attribute) {
-                    if (!isset($attribute['id']) || $attribute['id'] !== $id) {
-                        continue;
-                    }
-
-                    if (!isset($attribute['provider'])) {
-                        throw new \RuntimeException('Each "security.remember_me_aware" tag must have a provider attribute.');
-                    }
-
-                    $userProviders[] = new Reference($attribute['provider']);
-                    $container
-                        ->getDefinition($serviceId)
-                        ->addMethodCall('setRememberMeServices', array(new Reference($rememberMeServicesId)))
-                    ;
+        $userProviders = array();
+        foreach ($container->findTaggedServiceIds('security.remember_me_aware') as $serviceId => $attributes) {
+            foreach ($attributes as $attribute) {
+                if (!isset($attribute['id']) || $attribute['id'] !== $id) {
+                    continue;
                 }
+
+                if (!isset($attribute['provider'])) {
+                    throw new \RuntimeException('Each "security.remember_me_aware" tag must have a provider attribute.');
+                }
+
+                $userProviders[] = new Reference($attribute['provider']);
+                $container
+                    ->getDefinition($serviceId)
+                    ->addMethodCall('setRememberMeServices', array(new Reference($rememberMeServicesId)))
+                ;
             }
-            if (count($userProviders) === 0) {
-                throw new \RuntimeException('You must configure at least one remember-me aware listener (such as form-login) for each firewall that has remember-me enabled.');
-            }
-        } else {
+        }
+        if ($config['user_providers']) {
             $userProviders = array();
             foreach ($config['user_providers'] as $providerName) {
                 $userProviders[] = new Reference('security.user.provider.concrete.'.$providerName);
             }
         }
+        if (count($userProviders) === 0) {
+            throw new \RuntimeException('You must configure at least one remember-me aware listener (such as form-login) for each firewall that has remember-me enabled.');
+        }
         $rememberMeServices->replaceArgument(0, $userProviders);
 
         // remember-me listener