BTS SIO2D
  • Accueil
  • Connexion
12 novembre 2024 par Mehdi ENNAJEH

Share : Mise en place d’un système de logs sous Symfony

Share : Mise en place d’un système de logs sous Symfony
12 novembre 2024 par Mehdi ENNAJEH

Table des matières

Toggle
  • Prise de Note des Logs dans Symfony
    • Introduction
    • LogService : Gestion Centralisée des Logs
    • UserListener : Suivi des Actions Utilisateur
    • Enregistrement des Événements
    • Conclusion

Prise de Note des Logs dans Symfony

Introduction

Dans ce projet, nous avons mis en place un système de logs permettant d'enregistrer les actions des utilisateurs. Ce mécanisme assure un suivi des événements clés, tels que la connexion, la déconnexion et la création de comptes, tout en améliorant la sécurité et la traçabilité des actions.

LogService : Gestion Centralisée des Logs

Le LogService est une classe dédiée à l'enregistrement des événements dans la base de données :

  • Il reçoit une instance de EntityManager pour interagir avec la base de données.
  • La méthode log permet de créer un enregistrement avec :
    • L'identifiant de l'utilisateur.
    • Son adresse IP.
    • L'action effectuée (connexion, déconnexion, création de compte, etc.).
    • Des détails supplémentaires si nécessaire.
  • Les entrées sont sauvegardées dans la base de données grâce aux méthodes persist et flush.

UserListener : Suivi des Actions Utilisateur

Le UserListener est une classe qui écoute des événements spécifiques liés aux utilisateurs :

  • Elle est abonnée aux événements de connexion, déconnexion et création de compte.
  • Son constructeur reçoit une instance de LogService pour centraliser la gestion des logs.
  • La méthode getSubscribedEvents définit les événements suivis :
    • InteractiveLoginEvent : Lorsqu'un utilisateur se connecte.
    • LogoutEvent : Lorsqu'un utilisateur se déconnecte.
    • postPersist : Après la création d'un nouvel utilisateur.

Enregistrement des Événements

Les actions des utilisateurs sont enregistrées de la manière suivante :

  • Connexion : La méthode onSecurityInteractiveLogin récupère l'utilisateur et son adresse IP, puis enregistre un log indiquant la connexion.
  • Déconnexion : La méthode onSecurityLogout enregistre la déconnexion de l'utilisateur avec son adresse IP.
  • Création de compte : La méthode onUserCreation vérifie qu'un nouvel utilisateur a bien été ajouté à la base et enregistre cet événement.

Conclusion

Ce système de logs dans Symfony offre une traçabilité complète des actions des utilisateurs. Grâce à LogService et UserListener, les événements critiques sont stockés de manière centralisée, garantissant un meilleur suivi et une sécurité renforcée.

Article précédentV) Angular : Améliorations de performance grâce à l’option isolatedModulesArticle suivant Les Failles XSS

Laisser un commentaire Annuler la réponse

Vous devez vous connecter pour publier un commentaire.

About The Blog

Nulla laoreet vestibulum turpis non finibus. Proin interdum a tortor sit amet mollis. Maecenas sollicitudin accumsan enim, ut aliquet risus.

Articles récents

projet flutter Forum28 avril 2025
Backup BDD Bash17 mars 2025
UE – TF1 se met à Unreal Engine ?17 mars 2025

Catégories

  • Article Angular Killian
  • Article Clément
  • Article Unreal Engine Hugo
  • Cybersécurité
  • IA
  • Non classé
  • Projet Flutter KHM
  • Projet Hugo
  • Stage Clément
  • Stage Hugo
  • Stage Killian P
  • TP Clément

Méta

  • Inscription
  • Connexion
  • Flux des publications
  • Flux des commentaires
  • Site de WordPress-FR

Étiquettes

Article Développer son projet professionnel Flutter Gérer son identité professionnelle Java Stage Symfony TP

Why Lander

Lander is a design prepared
especially for the free version
of Rife WordPress Theme.

You can use this for free.
Make your website today.
Get Started Now!

Contact

734 Blackwell Street
Anchorage, Alaska
info@domain.com
+33 (0) 101 0000
+33 (0) 102 0000
Mon. - Fri. 8AM - 6PM

Articles récents

projet flutter Forum28 avril 2025
Backup BDD Bash17 mars 2025
UE – TF1 se met à Unreal Engine ?17 mars 2025
Rife Wordpress Theme. Proudly Built By Apollo13