// collect firewall context information
$this->data
['firewall'
] = null;
if ($this->firewallMap instanceof FirewallMap
) { $firewallConfig =
$this->firewallMap->
getFirewallConfig($request);
if (null !==
$firewallConfig) { $this->data
['firewall'
] =
[ 'name' =>
$firewallConfig->
getName(),
'request_matcher' =>
$firewallConfig->
getRequestMatcher(),
'security_enabled' =>
$firewallConfig->
isSecurityEnabled(),
'stateless' =>
$firewallConfig->
isStateless(),
'provider' =>
$firewallConfig->
getProvider(),
'context' =>
$firewallConfig->
getContext(),
'entry_point' =>
$firewallConfig->
getEntryPoint(),
'access_denied_handler' =>
$firewallConfig->
getAccessDeniedHandler(),
'access_denied_url' =>
$firewallConfig->
getAccessDeniedUrl(),
'user_checker' =>
$firewallConfig->
getUserChecker(),
'authenticators' =>
$firewallConfig->
getAuthenticators(),
];
// generate exit impersonation path from current request
if ($this->data
['impersonated'
] && null !==
$switchUserConfig =
$firewallConfig->
getSwitchUser()) {