Bonjour, j'ai l'impression qu'il faut supprimer l'utilisateur en session...
Bonjour,
Voila je rencontre un petit problème avec mon code
Ce que je fais
Je cherche à supprimer un compte
Ce que j'obtiens
Je redirige bien l'utilisateur sur la page accueil et voilà l'erreur qui s'affiche :
You cannot refresh a user from the EntityUserProvider that does not contain an identifier. The user object has to be serialized with its own identifier mapped by Doctrine.
Pourtant en bdd le compte a bien été supprimé, et si je réactualise la page, je suis bien sur l'accueil
Merci par avance,
10 réponses
J'ai eu le même problème.
Je l'ai solutionner en supprimant le user "manuellement" par l'administrateur.
Autrement j'ai créer une table "DemandeSuppressionUser" qui a une propriété qui est lié au User qui demande la suppression.
Maintenant s'il y'a une solution pour supprimer l'utilisateur de la session comme le recomande @dubitoph , moi je la veux bien !
Devdeb22, ça veut dire que tu fais travailler un admin ?
c'est une possibilité,
je comprends pourquoi j'ai l'erreur mais je n'ai trouvé aucune doc pour rectifier cela
J'ai même fais une fonction "fantôme" la suppression passe par cette fonction et est juste renvoyée sur la page accueil avec une redirect qui fait un peu une sorte de refresh, je l'avais utilisé pour un problème d'actualisation de notif.
Si je trouve je t'écris qq part
Oui effectivement, je fais travailler l'admin !
Salut,
J'etais dans le même cas que vous. En cherchant un peu j'ai fini par trouver la solution.
vous devez supprimer la session de l'utilisateur :
Et pour que l'utilisateur ne se vois plus connecté on peux ajouter la redirection vers le logout
Salut Aka aka et merci pour ta réponse, j'avais laissé en stand by, je viens d'essayer et oui ça marche
merci beaucoup
par contre pourquoi redirectoRoute security.logout ?
Pour ma pars j'ai mis le nom d'utilisateur dans le menu et si je retourne pas sur le logout le nom reste jusqu'au prochain rafrechissement de page.
ah oui je vois, j'ai fais autrement. j'ai mis une condition entre app.user ou pas.
merci beaucoup
Si c'est la solution place le post en resolut ^^ ☺
Je reviens sur ce sujet : la réponse apportée par aka-aka est loin d'être "propre".
En effet, la création d'un nouvel objet Session contourne le problème et contourne la session déjà gérée par symfony.
Voici la solution que j'ai trouvée et qui permet, entre autre, d'ajouter des messages flash après avoir supprimer le compte utilisateur en injectant le container :