Post

Symfony – Les rôles

Symfony – Les rôles

Cours 27 — Les rôles

Introduction

Les rôles permettent de contrôler l’accès aux différentes parties d’une application.

Chaque utilisateur possède un ou plusieurs rôles.


Exemple de rôle

1
['ROLE_USER']

Ce rôle correspond à un utilisateur connecté.


Définir un rôle

1
2
3
$user->setRoles([
    'ROLE_USER'
]);

Plusieurs rôles

1
2
3
4
$user->setRoles([
    'ROLE_USER',
    'ROLE_ADMIN'
]);

Vérifier un rôle

1
#[IsGranted('ROLE_USER')]

Seuls les utilisateurs possédant ce rôle peuvent accéder à la page.


Exemple dans un contrôleur

1
2
3
4
5
6
#[Route('/sejour')]
#[IsGranted('ROLE_USER')]
public function index(): Response
{
    return new Response('Accès autorisé');
}

Vérification dans le code

1
2
3
4
5
if (
    $this->isGranted('ROLE_ADMIN')
) {
    // Action réservée à l'administrateur
}

Lire les rôles

1
2
3
$user = $this->getUser();

$roles = $user->getRoles();

Rôles fréquents

1
2
3
ROLE_USER
ROLE_ADMIN
ROLE_SUPER_ADMIN

Comprendre le processus

1
2
3
4
5
6
7
Connexion
↓
Utilisateur
↓
Rôles
↓
Contrôle d'accès

Conclusion

Les rôles permettent de sécuriser l’application.

À retenir :

1
2
3
4
5
6
7
setRoles()

getRoles()

#[IsGranted('ROLE_USER')]

isGranted()
This post is licensed under CC BY 4.0 by the author.