src/Voter/WebServicesVoter.php line 8

Open in your IDE?
  1. <?php
  2. namespace App\Voter;
  3. use Symfony\Component\Security\Core\Authentication\Token\TokenInterface;
  4. use Symfony\Component\Security\Core\Authorization\Voter\Voter;
  5. use Symfony\Component\Security\Core\User\UserInterface;
  6. class WebServicesVoter extends Voter
  7. {
  8.     const CONTROL_LIST "WEB_SERVICES_CONTROL_LIST";
  9.     const COSTA_DETAIL "WEB_SERVICES_COSTA_DETAIL";
  10.     const MSC_DETAIL "WEB_SERVICES_MSC_DETAIL";
  11.     const CNAS_DETAIL "WEB_SERVICES_CNAS_DETAIL";
  12.     const FNAC_DARTY_DETAIL "WEB_SERVICES_FNAC_DARTY_DETAIL";
  13.     const MACIF_DETAIL "WEB_SERVICES_MACIF_DETAIL";
  14.     const UNEO_DETAIL "WEB_SERVICES_UNEO_DETAIL";
  15.     const SOFINCO_DETAIL "WEB_SERVICES_SOFINCO_DETAIL";
  16.     const DIRECT_ASSURANCE_DETAIL "WEB_SERVICES_DIRECT_ASSURANCE_DETAIL";
  17.     const CONNECTION_INTERFACE_PICTURE_LIST "WEB_SERVICES_CONNECTION_INTERFACE_PICTURE_LIST";
  18.     const CONNECTION_INTERFACE_PICTURE_CREATE "WEB_SERVICES_CONNECTION_INTERFACE_PICTURE_CREATE";
  19.     const CONNECTION_INTERFACE_PICTURE_REMOVE "WEB_SERVICES_CONNECTION_INTERFACE_PICTURE_REMOVE";
  20.     protected function supports($attribute$subject): bool
  21.     {
  22.         return in_array($attribute, [
  23.             self::CONTROL_LIST,
  24.             self::COSTA_DETAIL,
  25.             self::MSC_DETAIL,
  26.             self::CNAS_DETAIL,
  27.             self::FNAC_DARTY_DETAIL,
  28.             self::MACIF_DETAIL,
  29.             self::UNEO_DETAIL,
  30.             self::SOFINCO_DETAIL,
  31.             self::DIRECT_ASSURANCE_DETAIL,
  32.             self::CONNECTION_INTERFACE_PICTURE_LIST,
  33.             self::CONNECTION_INTERFACE_PICTURE_CREATE,
  34.             self::CONNECTION_INTERFACE_PICTURE_REMOVE,
  35.         ]);
  36.     }
  37.     protected function voteOnAttribute($attribute$subjectTokenInterface $token): bool
  38.     {
  39.         $loggedUser $token->getUser();
  40.         if (!$loggedUser instanceof UserInterface) {
  41.             return false;
  42.         }
  43.         return in_array($attribute$loggedUser->getRoles());
  44.     }
  45. }