vendor/netgen/layouts-sylius/lib/Security/Authorization/Voter/AdminAccessVoter.php line 15

  1. <?php
  2. declare(strict_types=1);
  3. namespace Netgen\Layouts\Sylius\Security\Authorization\Voter;
  4. use Sylius\Component\Core\Model\AdminUserInterface;
  5. use Symfony\Component\Security\Core\Authentication\Token\TokenInterface;
  6. use Symfony\Component\Security\Core\Authorization\Voter\VoterInterface;
  7. /**
  8.  * Votes on Netgen Layouts attributes (ROLE_NGLAYOUTS_*) by matching corresponding access
  9.  * rights in Sylius eCommerce.
  10.  */
  11. final class AdminAccessVoter implements VoterInterface
  12. {
  13.     /**
  14.      * @param mixed[] $attributes
  15.      */
  16.     public function vote(TokenInterface $tokenmixed $subject, array $attributes): int
  17.     {
  18.         if ($token->getUser() instanceof AdminUserInterface) {
  19.             return self::ACCESS_GRANTED;
  20.         }
  21.         return self::ACCESS_ABSTAIN;
  22.     }
  23. }