@@ -234,16 +234,6 @@ private function createFirewalls($config, ContainerBuilder $container)
234
234
$ firewalls = $ config ['firewalls ' ];
235
235
$ providerIds = $ this ->createUserProviders ($ config , $ container );
236
236
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 ($ providerIds as $ userProviderId ) {
242
- $ userProviders [] = new Reference ($ userProviderId );
243
- }
244
- $ arguments [1 ] = $ userProviders ;
245
- $ definition ->setArguments ($ arguments );
246
-
247
237
// load firewall map
248
238
$ mapDef = $ container ->getDefinition ('security.firewall.map ' );
249
239
$ map = $ authenticationProviders = $ contextRefs = array ();
@@ -327,7 +317,7 @@ private function createFirewall(ContainerBuilder $container, $id, $firewall, &$a
327
317
$ contextKey = $ firewall ['context ' ];
328
318
}
329
319
330
- $ listeners [] = new Reference ($ this ->createContextListener ($ container , $ contextKey ));
320
+ $ listeners [] = new Reference ($ this ->createContextListener ($ container , $ contextKey, $ defaultProvider ));
331
321
}
332
322
333
323
$ config ->replaceArgument (6 , $ contextKey );
@@ -436,14 +426,15 @@ private function createFirewall(ContainerBuilder $container, $id, $firewall, &$a
436
426
return array ($ matcher , $ listeners , $ exceptionListener );
437
427
}
438
428
439
- private function createContextListener ($ container , $ contextKey )
429
+ private function createContextListener ($ container , $ contextKey, $ providerId )
440
430
{
441
431
if (isset ($ this ->contextListeners [$ contextKey ])) {
442
432
return $ this ->contextListeners [$ contextKey ];
443
433
}
444
434
445
435
$ listenerId = 'security.context_listener. ' .count ($ this ->contextListeners );
446
436
$ listener = $ container ->setDefinition ($ listenerId , new ChildDefinition ('security.context_listener ' ));
437
+ $ listener ->replaceArgument (1 , array (new Reference ($ providerId )));
447
438
$ listener ->replaceArgument (2 , $ contextKey );
448
439
449
440
return $ this ->contextListeners [$ contextKey ] = $ listenerId ;
0 commit comments