vendor/sulu/sulu/src/Sulu/Bundle/SecurityBundle/SuluSecurityBundle.php line 28

Open in your IDE?
  1. <?php
  2. /*
  3. * This file is part of Sulu.
  4. *
  5. * (c) Sulu GmbH
  6. *
  7. * This source file is subject to the MIT license that is bundled
  8. * with this source code in the file LICENSE.
  9. */
  10. namespace Sulu\Bundle\SecurityBundle;
  11. use Sulu\Bundle\PersistenceBundle\PersistenceBundleTrait;
  12. use Sulu\Bundle\SecurityBundle\DependencyInjection\Compiler\AccessControlProviderPass;
  13. use Sulu\Bundle\SecurityBundle\DependencyInjection\Compiler\AliasForSecurityEncoderCompilerPass;
  14. use Sulu\Bundle\SecurityBundle\DependencyInjection\Compiler\TwoFactorCompilerPass;
  15. use Sulu\Component\Security\Authentication\RoleInterface;
  16. use Sulu\Component\Security\Authentication\RoleSettingInterface;
  17. use Sulu\Component\Security\Authentication\UserInterface;
  18. use Sulu\Component\Security\Authorization\AccessControl\AccessControlInterface;
  19. use Symfony\Component\DependencyInjection\ContainerBuilder;
  20. use Symfony\Component\HttpKernel\Bundle\Bundle;
  21. /**
  22. * @final
  23. */
  24. class SuluSecurityBundle extends Bundle
  25. {
  26. use PersistenceBundleTrait;
  27. /**
  28. * @internal
  29. */
  30. public function build(ContainerBuilder $container): void
  31. {
  32. $this->buildPersistence(
  33. [
  34. UserInterface::class => 'sulu.model.user.class',
  35. RoleInterface::class => 'sulu.model.role.class',
  36. RoleSettingInterface::class => 'sulu.model.role_setting.class',
  37. AccessControlInterface::class => 'sulu.model.access_control.class',
  38. ],
  39. $container
  40. );
  41. $container->addCompilerPass(new AccessControlProviderPass());
  42. $container->addCompilerPass(new AliasForSecurityEncoderCompilerPass());
  43. $container->addCompilerPass(new TwoFactorCompilerPass());
  44. parent::build($container);
  45. }
  46. }