@@ -186,6 +186,12 @@ private function createRuleMatcher(ContainerBuilder $container, Reference $reque
186186
187187 private function loadUserContext (ContainerBuilder $ container , XmlFileLoader $ loader , array $ config )
188188 {
189+ $ configuredUserIdentifierHeaders = array_map ('strtolower ' , $ config ['user_identifier_headers ' ]);
190+ $ completeUserIdentifierHeaders = $ configuredUserIdentifierHeaders ;
191+ if (false !== $ config ['session_name_prefix ' ] && !in_array ('cookie ' , $ completeUserIdentifierHeaders )) {
192+ $ completeUserIdentifierHeaders [] = 'cookie ' ;
193+ }
194+
189195 $ loader ->load ('user_context.xml ' );
190196
191197 $ container ->getDefinition ($ this ->getAlias ().'.user_context.request_matcher ' )
@@ -194,16 +200,20 @@ private function loadUserContext(ContainerBuilder $container, XmlFileLoader $loa
194200
195201 $ container ->getDefinition ($ this ->getAlias ().'.event_listener.user_context ' )
196202 ->replaceArgument (0 , new Reference ($ config ['match ' ]['matcher_service ' ]))
197- ->replaceArgument (2 , $ config [ ' user_identifier_headers ' ] )
203+ ->replaceArgument (2 , $ completeUserIdentifierHeaders )
198204 ->replaceArgument (3 , $ config ['user_hash_header ' ])
199205 ->replaceArgument (4 , $ config ['hash_cache_ttl ' ]);
200206
207+ $ options = array (
208+ 'user_identifier_headers ' => $ configuredUserIdentifierHeaders ,
209+ 'session_name_prefix ' => $ config ['session_name_prefix ' ],
210+ );
201211 $ container ->getDefinition ($ this ->getAlias ().'.user_context.anonymous_request_matcher ' )
202- ->replaceArgument (0 , $ config [ ' user_identifier_headers ' ] );
212+ ->replaceArgument (0 , $ options );
203213
204214 if ($ config ['logout_handler ' ]['enabled ' ]) {
205215 $ container ->getDefinition ($ this ->getAlias ().'.user_context.logout_handler ' )
206- ->replaceArgument (1 , $ config [ ' user_identifier_headers ' ] )
216+ ->replaceArgument (1 , $ completeUserIdentifierHeaders )
207217 ->replaceArgument (2 , $ config ['match ' ]['accept ' ]);
208218 } else {
209219 $ container ->removeDefinition ($ this ->getAlias ().'.user_context.logout_handler ' );
0 commit comments