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
A vous de jouer !
Ces articles vous ont été utiles ? Vous pouvez m'aider à votre tour de plusieurs manières : (cliquez sur le lien "reply" dans à droite pour me contacter )
- Me remonter des erreurs ou typos.
- Me remonter des choses qui pourraient être améliorées.
- Aimez et repostez !
- Suivez moi sur Bluesky 🦋
- Inscrivez-vous au flux RSS.
- Cliquez sur les boutons Plus sur Stackoverflow pour me faire gagner des badges "annonceur" 🏅.
Merci et à très bientôt sur Strangebuzz ! 😉
