@@ -234,16 +234,6 @@ private function createFirewalls($config, ContainerBuilder $container)
234234$ firewalls =$ config ['firewalls ' ];
235235$ providerIds =$ this ->createUserProviders ($ config ,$ container );
236236
237- // make the ContextListener aware of the configured user providers
238- $ definition =$ container ->getDefinition ('security.context_listener ' );
239- $ arguments =$ definition ->getArguments ();
240- $ userProviders =array ();
241- foreach ($ providerIdsas $ userProviderId ) {
242- $ userProviders [] =new Reference ($ userProviderId );
243- }
244- $ arguments [1 ] =$ userProviders ;
245- $ definition ->setArguments ($ arguments );
246-
247237// load firewall map
248238$ mapDef =$ container ->getDefinition ('security.firewall.map ' );
249239$ map =$ authenticationProviders =$ contextRefs =array ();
@@ -327,7 +317,7 @@ private function createFirewall(ContainerBuilder $container, $id, $firewall, &$a
327317$ contextKey =$ firewall ['context ' ];
328318 }
329319
330- $ listeners [] =new Reference ($ this ->createContextListener ($ container ,$ contextKey ));
320+ $ listeners [] =new Reference ($ this ->createContextListener ($ container ,$ contextKey, $ defaultProvider ));
331321 }
332322
333323$ config ->replaceArgument (6 ,$ contextKey );
@@ -436,14 +426,15 @@ private function createFirewall(ContainerBuilder $container, $id, $firewall, &$a
436426return array ($ matcher ,$ listeners ,$ exceptionListener );
437427 }
438428
439- private function createContextListener ($ container ,$ contextKey )
429+ private function createContextListener ($ container ,$ contextKey, $ providerId )
440430 {
441431if (isset ($ this ->contextListeners [$ contextKey ])) {
442432return $ this ->contextListeners [$ contextKey ];
443433 }
444434
445435$ listenerId ='security.context_listener. ' .count ($ this ->contextListeners );
446436$ listener =$ container ->setDefinition ($ listenerId ,new ChildDefinition ('security.context_listener ' ));
437+ $ listener ->replaceArgument (1 ,array (new Reference ($ providerId )));
447438$ listener ->replaceArgument (2 ,$ contextKey );
448439
449440return $ this ->contextListeners [$ contextKey ] =$ listenerId ;