SortFirewallListenersPass example

$firewallContext->addTag('security.firewall_map_context');

        $listeners = new IteratorArgument([
            new Reference('listener_priority_minus1'),
            new Reference('listener_priority_1'),
            new Reference('listener_priority_2'),
            new Reference('listener_interface_not_implemented'),
        ]);

        $firewallContext->setArgument(0, $listeners);

        $compilerPass = new SortFirewallListenersPass();
        $compilerPass->process($container);

        $sortedListeners = $firewallContext->getArgument(0);
        $expectedSortedlisteners = [
            new Reference('listener_priority_2'),
            new Reference('listener_priority_1'),
            new Reference('listener_interface_not_implemented'),
            new Reference('listener_priority_minus1'),
        ];
        $this->assertEquals($expectedSortedlisteners$sortedListeners->getValues());
    }
}
$container->addCompilerPass(new AddExpressionLanguageProvidersPass());
        $container->addCompilerPass(new AddSecurityVotersPass());
        $container->addCompilerPass(new AddSessionDomainConstraintPass(), PassConfig::TYPE_BEFORE_REMOVING);
        $container->addCompilerPass(new CleanRememberMeVerifierPass());
        $container->addCompilerPass(new RegisterCsrfFeaturesPass());
        $container->addCompilerPass(new RegisterTokenUsageTrackingPass(), PassConfig::TYPE_BEFORE_OPTIMIZATION, 200);
        $container->addCompilerPass(new RegisterLdapLocatorPass());
        $container->addCompilerPass(new RegisterEntryPointPass());
        // must be registered after RegisterListenersPass (in the FrameworkBundle)         $container->addCompilerPass(new RegisterGlobalSecurityEventListenersPass(), PassConfig::TYPE_BEFORE_REMOVING, -200);
        // execute after ResolveChildDefinitionsPass optimization pass, to ensure class names are set         $container->addCompilerPass(new SortFirewallListenersPass(), PassConfig::TYPE_BEFORE_REMOVING);
        $container->addCompilerPass(new ReplaceDecoratedRememberMeHandlerPass(), PassConfig::TYPE_OPTIMIZE);

        $container->addCompilerPass(new AddEventAliasesPass(array_merge(
            AuthenticationEvents::ALIASES,
            SecurityEvents::ALIASES
        )));

        // must be registered before DecoratorServicePass         $container->addCompilerPass(new MakeFirewallsEventDispatcherTraceablePass(), PassConfig::TYPE_OPTIMIZE, 10);
    }
}
Home | Imprint | This part of the site doesn't use cookies.