Post

Symfony – Authentification

Symfony – Authentification

Cours 24 — Authentification

Introduction

L’authentification permet à un utilisateur de se connecter à l’application.

Symfony fournit un système de sécurité intégré.


Créer l’authentification

Commande :

1
php bin/console make:auth

Symfony crée les fichiers nécessaires.


L’entité User

L’utilisateur est généralement représenté par une entité :

1
2
3
class User
{
}

Cette entité contient notamment :

1
2
$email
$password

Connexion

Lors de la connexion :

1
2
3
Email
+
Mot de passe

sont vérifiés par Symfony.


Utilisateur connecté

Dans un contrôleur :

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

Résultat :

1
Retourne l'utilisateur connecté.

Vérifier le rôle

1
#[IsGranted('ROLE_USER')]

Seuls les utilisateurs connectés peuvent accéder à la page.


Exemple

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

Déconnexion

Dans le fichier :

1
config/packages/security.yaml

Symfony gère automatiquement la déconnexion.


Comprendre le processus

1
2
3
4
5
6
7
8
9
Connexion
↓
Authentification
↓
Utilisateur connecté
↓
getUser()
↓
Contrôle des rôles

Conclusion

L’authentification permet :

  • de connecter un utilisateur ;
  • de récupérer l’utilisateur connecté ;
  • de protéger certaines pages.

Éléments à retenir :

1
2
3
getUser()

#[IsGranted('ROLE_USER')]
This post is licensed under CC BY 4.0 by the author.