26 avr. 2024 | Connexion

Blog

Symfony (5, 6) : suppression utilisateur - Erreur

Symfony (5, 6) : suppression utilisateur - Erreur

Développement web
Symfony PHP

il y a 1 an citizenz7 0 commentaire 3441 lectures

Dans la fonction Delete() de UserController.php vous avez quelque chose comme ça :

#[Route('/{id}', name: 'app_user_delete', methods: ['POST'])]
    public function delete(Request $request, User $user, UserRepository $userRepository): Response
    {
        if ($this->isCsrfTokenValid('delete'.$user->getId(), $request->request->get('_token'))) {
            $userRepository->remove($user);
        }
        return $this->redirectToRoute('app_user_index', [], Response::HTTP_SEE_OTHER);
    }

Il suffit donc d'ajouter un setToken(null) lors de la suppression du user (avec un flashmessage en prime) :

 #[Route('/{id}', name: 'app_user_delete', methods: ['POST'])]
    public function delete(Request $request, User $user, UserRepository $userRepository): Response
    {
        if ($this->isCsrfTokenValid('delete'.$user->getId(), $request->request->get('_token'))) {
            $this->container->get('security.token_storage')->setToken(null);
            $userRepository->remove($user, true);
        }
       $this->addFlash('deleted','Votre compte a été supprimé.');
        return $this->redirectToRoute('app_home', [], Response::HTTP_SEE_OTHER);
    }

0 commentaire


Nb d'articles actifs : 46 | Nb de commentaires : 32 | Nb de catégories : 8 | Nb de tags : 32 | Nb total de lectures : 189 525
2024 citizenz.info • Some rights reserved GPLv3 • Version 3.3.4

Ah, le printemps ! La nature se réveille, les oiseaux reviennent, on crame des mecs... (Arthur, Kaamelott, Livre II, La Fête du Printemps)