Utiliser les constantes de rôle avec l'attribut IsGranted de Symfony
Publié le 06/06/2023 • Actualisé le 06/06/2023
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