Utiliser les constantes de rôle avec l'attribut IsGranted de Symfony

Publié le 06/06/2023 • Actualisé le 06/06/2023


English language detected! 🇬🇧

  We noticed that your browser is using English. Do you want to read this post in this language?

Read the english version 🇬🇧 Close

Dans ce bout de code, nous voyons comment utiliser les constantes de rôle avec l'attribut IsGranted de Symfony au lieu d'utiliser les chaînes de caractères brutes. On peut utiliser la classe AuthenticatedVoter qui contient plusieurs constantes prédéfinies comme montré ci-dessous. Si vous avez des rôles personnalisés, vous pouvez les mettre dans votre classe utilisateur comme dans l'application démo de Symfony.


<?php

declare(strict_types=1);

namespace App\Controller;

use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Attribute\Route;
use Symfony\Component\Security\Core\Authorization\Voter\AuthenticatedVoter;
use Symfony\Component\Security\Http\Attribute\IsGranted;

/**
 * Snippet 259.
 *
 * @see vendor/symfony/security-core/Authorization/Voter/AuthenticatedVoter.php
 */
final class SecuredController extends AbstractController
{
    #[Route(path: '/dummy/secured', name: 'dummy_secured')]
    #[IsGranted(AuthenticatedVoter::IS_AUTHENTICATED_FULLY)]
    public function __invoke(): Response
    {
        return $this->json(['OK' => true]);
    }
}

 Plus sur Stackoverflow   Lire la doc  Plus sur le web  Snippet aléatoire

  Travaillez avec moi !