Bonjour, je travaille actuellement sur un formulaire afin d'éditer le User. Je suis tombé sur un problème auquel je n'ai jamais fait face auparavant : lorsque j'édite un champ lié au "Security UserProvider" (chez moi j'utilise l'implementation de EquatableInterface afin de lier le password, le username et l'email) et que je rencontre une constrainte violation, le message d'erreur s'affiche mais la session est tout de même modifiée (bien que la DB elle n'est pas affectée). Si je refresh, je suis du coup déconnecté vu que le UserProvider ne reconnaît pas la nouvelle donnée en session comparée avec celles qu'il a.

Etapes à reproduire

  1. Utiliser un formulaire afin d'éditer un User, avec des champs liés au UserProvider.
  2. Forcer une constrainte violation (UniqueEntity, Not Blank, etc).
  3. Checker la session et voir que le champ a été modifié malgré la violation (username, password, email, etc.).
  4. Être déconnecté à cause du UserProvider.

Ce que je veux

J'aimerai savoir si une solution est connue afin d'empêcher la session d'être modifiée dans ce genre de cas (et du coup empêcher des bugs d'affichage et empêcher le Userprovider de forcer la déconnexion).
J'ignore si je m'y prends mal, si il y a besoin d'afficher du code je mettrai le sujet à jour.

D'avance, merci ! :)

Aucune réponse