src/Platform/SecurityBundle/PlatformSecurityBundle.php line 24

Open in your IDE?
  1. <?php
  2. namespace Platform\SecurityBundle;
  3. use Common\CommonBundle;
  4. use Platform\SecurityBundle\DependencyInjection\Compiler\OAuthCompilerPass;
  5. use Platform\SecurityBundle\DependencyInjection\Compiler\OAuthProviderCompilerPass;
  6. use Platform\SecurityBundle\DependencyInjection\Compiler\PermissionAliasesCompilerPass;
  7. use Platform\SecurityBundle\DependencyInjection\Compiler\PermissionsCompilerPass;
  8. use Symfony\Component\DependencyInjection\Compiler\PassConfig;
  9. use Symfony\Component\DependencyInjection\ContainerBuilder;
  10. /**
  11.  * This bundle provides all features concerning security-related items in the system.
  12.  * This includes:
  13.  *  * User accounts
  14.  *  * Groups, Roles, and permissions
  15.  *  * Firewall configuration for access to/from certain resources
  16.  *  * Login handling
  17.  *
  18.  * Class PlatformSecurityBundle
  19.  * @package Platform\SecurityBundle
  20.  */
  21. final class PlatformSecurityBundle extends CommonBundle
  22. {
  23.     /**
  24.      * {@inheritdoc}
  25.      */
  26.     public function build(ContainerBuilder $container): void
  27.     {
  28.         // call parent
  29.         parent::build($container);
  30.         // register compiler passes
  31.         $container
  32.             ->addCompilerPass(new OAuthCompilerPass())
  33.             ->addCompilerPass(new OAuthProviderCompilerPass())
  34.             ->addCompilerPass(new PermissionsCompilerPass(), PassConfig::TYPE_BEFORE_REMOVING)
  35.             ->addCompilerPass(new PermissionAliasesCompilerPass(), PassConfig::TYPE_BEFORE_REMOVING);
  36.     }
  37. }