21 nov. 2024 | Connexion

Blog

Symfony (5, 6) : suppression utilisateur - Erreur

Symfony (5, 6) : suppression utilisateur - Erreur

Développement web
Symfony PHP

il y a 2 ans citizenz7 0 commentaire 4185 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 : 51 | Nb de commentaires : 39 | Nb de catégories : 8 | Nb de tags : 32 | Nb total de lectures : 222 621
2024 citizenz.info • Some rights reserved GPLv3 • Version 3.3.5

Ça prouve que j'ai de l'ubiquité... De l'humilité ? C'est pas quand il y a des infiltrations ? (Kaamelott, Livre III, L'Etudiant)