vendor/ibexa/core/src/lib/MVC/Symfony/Security/Authentication/AnonymousAuthenticationProvider.php line 15

Open in your IDE?
  1. <?php
  2. /**
  3.  * @copyright Copyright (C) Ibexa AS. All rights reserved.
  4.  * @license For full copyright and license information view LICENSE file distributed with this source code.
  5.  */
  6. namespace Ibexa\Core\MVC\Symfony\Security\Authentication;
  7. use Ibexa\Contracts\Core\Repository\PermissionResolver;
  8. use Ibexa\Contracts\Core\SiteAccess\ConfigResolverInterface;
  9. use Ibexa\Core\Repository\Values\User\UserReference;
  10. use Symfony\Component\Security\Core\Authentication\Provider\AnonymousAuthenticationProvider as BaseAnonymousProvider;
  11. use Symfony\Component\Security\Core\Authentication\Token\TokenInterface;
  12. class AnonymousAuthenticationProvider extends BaseAnonymousProvider
  13. {
  14.     /** @var \Ibexa\Contracts\Core\SiteAccess\ConfigResolverInterface */
  15.     private $configResolver;
  16.     /** @var \Ibexa\Contracts\Core\Repository\PermissionResolver */
  17.     private $permissionResolver;
  18.     public function setConfigResolver(ConfigResolverInterface $configResolver)
  19.     {
  20.         $this->configResolver $configResolver;
  21.     }
  22.     public function setPermissionResolver(PermissionResolver $permissionResolver)
  23.     {
  24.         $this->permissionResolver $permissionResolver;
  25.     }
  26.     public function authenticate(TokenInterface $token)
  27.     {
  28.         $token parent::authenticate($token);
  29.         $this->permissionResolver->setCurrentUserReference(new UserReference($this->configResolver->getParameter('anonymous_user_id')));
  30.         return $token;
  31.     }
  32. }
  33. class_alias(AnonymousAuthenticationProvider::class, 'eZ\Publish\Core\MVC\Symfony\Security\Authentication\AnonymousAuthenticationProvider');