Partage
  • Partager sur Facebook
  • Partager sur Twitter

symfony 6 setisconnect quand utilisateur se connec

    2 février 2023 à 14:04:57

    bonjour:

    j'essaye de comprendre comment set la valeur isconnected à true quand l'utilisateur se loggue mais je n'y arrive pas même avec chatgpt... j'y arrive bien quand il s'inscrit mais après...

    pourtant c'est ultra simple d'afficher l'user {{app.user}} mais à part ça....

    merci de votre aide

    • Partager sur Facebook
    • Partager sur Twitter
      2 février 2023 à 16:56:24

      Bonjour,

      Si tu as dans ton entité User la propriété isConnected qui doit être un booléen alors il suffit dans ton twig de faire :

      {{ app.user.isConnected }}

      Ok tu vas me dire pas terrible l'affichage d'un booléen alors il te suffit de faire une ternaire ce qui est possible avec twig.

      A+

      • Partager sur Facebook
      • Partager sur Twitter
        3 février 2023 à 5:55:52

        Bonjour,

        J'utilise symfony6 et je n'ai pas la méthode isConnected dans mon user.

        J'utilise la méthode IS_AUTHENTICATED_FULLY dans mes vues twig, comme dans mes controllers.C'est particulièrement utile si l'on veut afficher le "connectez-vous" quand l'utilisateur n'est pas encore loggué, ou à l'inverse le déconnectez-vous quand il l'est!

        Voir le lien de la doc symfony ici

        A vous

        -
        Edité par CarréDas1 3 février 2023 à 5:58:03

        • Partager sur Facebook
        • Partager sur Twitter
          3 février 2023 à 11:07:17

          bien je comprend pas ta réponse carrédas1, si on veut voir si l'utilisateur est connecté on fait juste un if de app.user, si il n'y est pas on affiche logguez vous else deconnectez vous...

          moi en gros, j'ai plusieurs utilisateurs qui peuvent se connecter, et je voudrais savoir qui est en ligne ou non, c'est pour ça que j'ai fait un champ boolean dans user (isConnected) et quand il se connecte,ça met a true et quand déconnecté a false...

          • Partager sur Facebook
          • Partager sur Twitter
            3 février 2023 à 11:41:02

            Ok, je n'avais pas compris ton besoin fonctionnel.

            La difficulté me semble être à la déconnexion. Il te faut mettre ton champ isCoonnected à false avant la déconnexion.Pour celà, il me semble qu'il faut écouter l'event security.logout_on_change et quand il survient passer avant la déconnection le champ isConnected à false.

            A toi

            -
            Edité par CarréDas1 3 février 2023 à 11:49:16

            • Partager sur Facebook
            • Partager sur Twitter
              3 février 2023 à 13:03:03

              As tu lu ma réponse ci-dessus ?

              A+

              • Partager sur Facebook
              • Partager sur Twitter
                8 février 2023 à 20:25:45

                tu as mal lu ma demande monkey3d

                cARRÉdAS1, effectivement il y a une difficulté, quand l'utilisateur s'enregistre, j'arrive à mettre la valeur de isConnected à 1 donc true avec ceci

                $announce = $announceRepository->findOneBy(['user'=>$this->getUser()]);
                $announce->setIsConnected('1');


                ca marche nickel! mais comment le faire dans le login et logout, c'est dans security/authenticator

                apres je ne sais pas...

                -
                Edité par beaudottesevran 8 février 2023 à 20:27:26

                • Partager sur Facebook
                • Partager sur Twitter
                  10 février 2023 à 17:40:47

                  j'ai trouvé pour ceux qui voudraient, c'est avec des event listener qu'on fait ça,ça marche super bien!
                  • Partager sur Facebook
                  • Partager sur Twitter

                  symfony 6 setisconnect quand utilisateur se connec

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown