Bonjour à tous.
j'aimerai savoir comment, je peux refuser l'accès à un utilisateur si son compte n'est pas actif (par exemple) en symfony. merci

5 réponses


Bonsoir vous parlez de refuser de refuser l'acces à une page, à un certain contenue ou autres...?

Je connais pas beaucoup Symfony mais quand tu fais t'est route, tu peux mettre des restrictions comme :

/**
* @Route("/dashboard", name="dashboard")
*
* @Security("has_role('ROLE_USER')")
*/

Tu peux aussi le faire dans ton Controller, genre :

if (!$this->get('security.authorization_checker')->isGranted('IS_AUTHENTICATED_FULLY')) {
    throw $this->createAccessDeniedException();
}

Source Symfony : Always Check if the User is Logged In

asvns
Auteur

Bonjour, pour être plus explicite, en général lorsqu'un utilisateur se logge, il met son son login et son mot de passe. J'aimerai verifié si par exemple son compte est actif.
merci.

La je crains de ne pas pouvoir t'aider, je te conseillerais de regarder le bundle FOSUser qui sert il me semble a gérer les utilisateurs (inscription/validation/activation...)

Bonjour asvns, je pense à deux solutions pour ton problème :

  • Créer un "User Checkers" qui pourra (entre autre mais pas seulement) vérifier si le compte de l'utilisateur est actif (documentation).
  • Si ton problème concerne uniquement l'état actif/inactif d'un utilisateuteur, faire implémenter l'interface AdvancedUserInterface à ta classe utilisateur. Les checkers déjà disponibles dans Symfony feront le travail de vérification.

En espérant que cela puisse t'aider !