Espace utilisateurs enregistrés et module de connexion

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • Espace utilisateurs enregistrés et module de connexion

    Bonjour à tous,

    Je réalise des sites sous Joomla depuis quelques années maintenant. Je ne suis donc pas exactement un "débutant".
    Pour autant, je suis très loin d'avoir tout exploré, j'apprends en fonction des besoins spécifiques de chaque site que je réalise.

    Aujourd'hui, je dois mettre en place un espace accessible uniquement à un (ou plusieurs) utilisateur(s) enregistré(s).
    C'est quelque chose que je n'ai jamais abordé auparavant (gestion des utilisateurs, des droits, espace de connexion, etc.).

    Après quelques tâtonnements, je suis arrivé à mettre en place un utilisateur "enregistré", une page pour se connecter (appelons-la connexion.html), puis une nouvelle page qui contient les contenus réservés aux utilisateurs enregistrés (contenus.html).

    Ma question est la suivante :
    Est-il possible d'arriver directement sur contenus.html, de tomber sur les champs de connexion, et de faire en sorte que les contenus s'affichent une fois l'identification validée ?
    Ou doit-on forcément passer par une page tierce pour s'identifier ?

    En espérant que ma question est à peu près claire :-)
    Merci d'avance pour vos réponses !

  • #2
    MMhh… Ma question était si bête que ça ?…

    Commentaire


    • #3
      Bonjour,

      Si tu veux que rien ne soit visible par les simples visiteurs, il faut que tu mettes en page par défaut une page d'identification (réservée aux invités) qui redirige une fois connecté sur ta page de contenus (qui doit être réservée aux enregistrés).
      Il te faudra prévoir un lien de déconnexion, réservé donc aux enregistrés, qui renvoie à la page d'identification.
      Si tu tentes d'accéder directement à une page réservée aux enregistrés, tu auras une erreur, si j'en crois mon test à l'instant.

      Pour compléter, plutôt qu'un lien vers le composant, je ferais un court article explicatif incluant le module de connexion en page par défaut, ce lien de menu étant masqué en mettant à "non" "Afficher dans le menu" dans l'onglet "type de lien".
      Dernière édition par RobertG à 09/07/2019, 16h58
      "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
      MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

      Commentaire


      • #4
        Merci RobertG pour ton retour. Ça me rassure de voir que je suis à peu près sur la bonne voie avant de lancer les choses plus à fond.

        Puis-je te demander l'utilité exacte du lien de déconnexion ? Pour expliquer les choses de manière un peu plus concrète, je dois mettre en place une section destinée à la presse, pour que les journalistes puissent y télécharger des docs qui leur sont réservés. Je les imagine mal prendre la seconde nécessaire pour se déconnecter… Est-ce grave s'il n'y a pas de déconnexion ?

        Commentaire


        • #5
          Dans ce cas, si je comprends bien, ce n'est pas le site entier qui doit être réservé, et ma réponse précédente est incorrecte : il te faut alors, dans ton site, créer un lien de menu "Accès presse" qui ouvre une page de connexion, celle-ci renvoyant sur la partie réservée.
          En effet, tu peux te passer d'un lien de déconnexion, mais ça veut dire que tant que la durée de session n'aura pas été dépassée après la dernière visite de page du site par le membre enregistré, n'importe qui pourra accéder aux pages. Peu de problèmes si c'est dans le cadre de l'entreprise de presse, plus gênant éventuellement si l'accès est fait depuis un ordinateur partagé, ou même "à la maison" où n'importe quel autre individu présent pourrait y accéder.
          Quoi qu'il en soit, il est à mon avis préférable de placer un lien de déconnexion (réservé aux enregistrés), que ce soit par menu vers le composant ou en utilisant le module.
          "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
          MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

          Commentaire


          • #6
            Envoyé par ikeda Voir le message
            Bonjour à tous,
            ...
            Ma question est la suivante :
            Est-il possible d'arriver directement sur contenus.html, de tomber sur les champs de connexion, et de faire en sorte que les contenus s'affichent une fois l'identification validée ?
            ...
            Oui il faut faire un lien de menu public envoyant vers un alias d'un lien de menu caché, réservè aux enregistrés et pointant sur l'article "privatif".

            Ainsi tu n'auras plus l'erreur 403 mais la page de login puis automatiquement la page demandé (et privée) après réussite du login.
            C'est JoomlaMagic !

            Voir les explications sur mon tutoriel sur YT...
            Dernière édition par roland_d_alsace à 09/07/2019, 18h28
            A tous les utilisateurs de Joomla du très Grand Est de la France et du Jura suisse
            Rejoignez le Joomla Users Groupe Alsace...
            roland_d_alsace va-t-il devenir roland_du_grand_est ?

            Commentaire


            • #7
              @RobertG

              Oui c'est bien ça, seule une page du site sera protégée.

              La petite nuance, c'est que je pense ne pas afficher les menu items de la page de connexion et de celle des documents. L'adresse de la page de connexion sera mentionnée sur le dossier de presse. Il suffira de la taper avec ses petits doigts (adresse courte et simple).

              Bon, ça implique que ces 2 rubriques "connexion" et "documents" ne seront pas signalées comme "actives" dans le menu principal, ce que je n'aime pas trop d'un point de vue logique, mais je pense faire une entorse à mes principes sur ce coup-là. Ça restera une utilisation assez marginale du site tout de même.

              Concernant la durée de session de connexion, ça se règle quelque part j'imagine ? Je sais régler celle du super user, mais pas celle des utilisateurs.

              Je ne crois pas qu'il faille être trop parano sur cette histoire de session, la rubrique concernée présentera des photos de l'entreprise, des articles en PDF, etc. Pas de données sensibles, les chinois du FBI ne devraient pas se jeter dessus

              OK, je placerai une instance du module de connexion sur la page des docs, ce qui devrait indiquer "me déconnecter". On verra bien si quelques bonnes âmes s'en servent…

              J'ai deux questions supplémentaires :

              - Le même code de connexion sera transmis à tous les journalistes (visiblement c'est souvent ce qui se fait). S'il ne faut pas non plus s'attendre à une ruée de la profession (restons calmes !), que se passe-t-il si par exemple 3 personnes distinctes se connectent simultanément avec le même ID ? Ça peut poser un souci ?

              - Si en tant qu'internaute lambda non enregistré je tape "documents.html" (= la page protégée) dans mon navigateur, j'atterris sur la page d'accueil, ce qui est bien. En revanche, j'obtiens dans la barre d'adresse :

              au lieu de l'url réécrite accueil.html.
              C'est normal ? Ça ne peut pas être corrigé ?



              @roland_d_alsace

              Merci pour ta réponse. Je regarde ta vidéo demain en espérant que mes neurones seront d'attaque après une bonne nuit de repos

              Commentaire


              • #8
                Bon, je me permets de relancer, au cas où RobertG ait la réponse à mes dernières questions en date (ce dont je ne doute pas).

                Une autre petite question : s'agissant de 2 items de menus qui seront cachés, cela fait-il une différence entre les intégrer tout simplement à mon menu principal ou créer un menu spécial rien que pour ces 2 items ? Une solution est-elle préférable à l'autre ?

                roland_d_alsace :

                Je n'ai sans doute pas suivi 100% des explications de ta vidéo, mais si je comprends bien, l'idée est d'avoir deux items de menu bien distincts qui afficheraient le même intitulé pour l'utilisateur, ce qui laisse à penser qu'il s'agit de la même section. Sauf que dans mon cas ces items ne seront pas affichés, donc l'intérêt me semble limité. En revanche, s'agissant de 2 items distincts, leur alias et donc l'url qu'ils génèrent devront être différents. Ce qui est justement ce que je voulais éviter. Enfin, si j'ai bien compris l'idée générale… Bon, ceci dit, ce n'est pas bien grave, il y aura une URL de connexion et une URL de consultation, ça n'a rien de choquant je pense.

                Commentaire


                • #9
                  bonjour,
                  pourquoi ne pas utiliser un module de connexion associée à une page invité?
                  Cela t eviteras d avoir a jouer avec des liens de menu concernant la connexion...
                  tu crées un module de connexion et tu le publies dans une position qui n'existe pas dans ton template.
                  tu crées un article invitant les utilisateurs a se connecter. Dans cet article tu utilise {loadmodule} (si tu n as qu une instance du module) ou {loadposition} (si tu as un autre module de connexion publié deja dans une position et que tu ne souhaites pas l'utiliser) pour appeler le module de connexion.
                  Dans le module de connexion, tu configure la redirection après connexion vers ton contenu spécifique.
                  Ton contenu doit être au minimum avec un niveau d acces enregistré, ceci afin qu il ne soit pas accessible au groupe public (utilisateurs anonymes).

                  Tu as juste u lien de menu vers un simple article.

                  tu ne peux pas regler individuelement la durée de session de chaque utilisateur,.Le seul endroit ou tu peux gérer cela est dans l'onglet configuration de ton site.
                  Cela influence la durée de session de touts les utilisateurs.

                  Dans l'absolu, le seul risque qu il y a c est que si un utilisateur quittes ton site sans se deconnecter, il pourras revenir sans avoir a entrer ses id le temps que la session reste valide. Si la session est expirée, il devras s identifier à nouveau.
                  Dernière édition par lefabdu51 à 18/07/2019, 16h26

                  Commentaire


                  • #10
                    Bonjour,

                    Pour ce qui est des connexions multiples avec les mêmes codes, a priori ça ne pose pas de problème tant qu'on n'est qu'en consultation du site et pas en création/modification (d'articles par exemple).

                    Les liens de menus non affichés peuvent être intégré à n'importe quel menu affiché, mais les isoler dans un menu dédié et non affiché lui-même (pas de module associé), permet éventuellement de mieux s'y retrouver.
                    "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
                    MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

                    Commentaire


                    • #11
                      Envoyé par ikeda Voir le message
                      ...
                      roland_d_alsace :

                      Je n'ai sans doute pas suivi 100% des explications de ta vidéo, mais si je comprends bien, l'idée est d'avoir deux items de menu bien distincts qui afficheraient le même intitulé pour l'utilisateur, ce qui laisse à penser qu'il s'agit de la même section. Sauf que dans mon cas ces items ne seront pas affichés, donc l'intérêt me semble limité. En revanche, s'agissant de 2 items distincts, leur alias et donc l'url qu'ils génèrent devront être différents. Ce qui est justement ce que je voulais éviter. Enfin, si j'ai bien compris l'idée générale… Bon, ceci dit, ce n'est pas bien grave, il y aura une URL de connexion et une URL de consultation, ça n'a rien de choquant je pense.
                      L'idée est que Joomla passe automatiquement par la page login, si la personne qui demande l'accès à une partie "privée" du site n'est pas identifiée,
                      puis après login réussit, Joomla envoie automatiquement l'internaute vers le lien de menu (à accès restreint) initialement demandée.
                      C'est natif à Joomla et fonctionne pour n'importe quel composant, mais il faut procéder avec un Alias de lien de menu comme je l'explique dans la vidéo.
                      A tous les utilisateurs de Joomla du très Grand Est de la France et du Jura suisse
                      Rejoignez le Joomla Users Groupe Alsace...
                      roland_d_alsace va-t-il devenir roland_du_grand_est ?

                      Commentaire


                      • #12
                        Un grand merci à chacun d'entre vous pour vos retours qui me permettent d'y voir plus clair, petit à petit.


                        @RobertG :

                        OK pour les connexions multiples avec les mêmes codes. Oui, ça ne sera que pour la consultation d'une page comprenant des téléchargements d'images et de PDFs. Quelque part, ce fonctionnement qui permet à un utilisateur d'être connecté depuis plusieurs endroits distincts me surprend un peu, mais en l'occurrence ça m'arrange bien :-)

                        Bon, si ça n'a pas grande importance, je vais laisser mes menus items (page de connexion et de consultation) dans le menu principal, en masqué.


                        lefabdu51 :

                        OK, pour la durée de session, elle est la même pour moi (super user) et pour les utilisateurs enregistrés. Je note ça dans un petit coin de ma tête (même si là encore je suis étonné qu'on ne puisse pas définir des durées de session différentes pour l'admin et les utilisateurs, car a priori l'utilisation et les besoins sont très différents). Rien de grave si les gens peuvent de nouveau revenir quelques minutes plus tard, je le répète, rien de super confidentiel ni données sensibles sur cette page.


                        Encore merci, je devrais me frotter à tout ça dans les jours à venir. Je refais un saut par ici si de nouvelles questions pointent le bout de leur nez !

                        Commentaire


                        • #13
                          Bonjour à tous,

                          J'ai testé la solution proposée par lefabdu51 mais, si je comprends bien, l'idée est d'afficher un module de connexion au sein des pages classiques du site, ce que je ne souhaite pas à la base.

                          Je viens de secouer mes neurones dans tous les sens et ai abouti à quelque chose qui me semble fonctionner et correspondre assez bien à ce que je souhaitais au départ. Je vous résume la chose, en remerciant d'avance les utilisateurs expérimentés pour leur validation (ou réserves s'il y a lieu bien sûr) :

                          - Je ne crée plus qu'un seul item de menu qui mène directement à la page qui permet de télécharger des documents.
                          - Cette page est désormais accessible à tous (même si le menu item est toujours caché).
                          - Elle comporte mon module de connexion.
                          - Le Page Content appelé est un article dont la lecture est réservée aux utilisateurs enregistrés.
                          - Les redirections après connexion et déconnexion pointent vers cette même page.

                          Et là, j'obtiens exactement ce que je souhaitais au départ. C'est-à-dire uniquement le module de connexion lorsque j'arrive sur la page. Puis l'article s'affiche dès lors que je me suis connecté. Il disparaît à la volée si je me déconnecte.

                          Finalement ça semble évident, non ? Voyez-vous un souci avec cette manière de faire ?

                          Commentaire


                          • #14
                            Je vois que mon dernier post ne suscite pas plus d'enthousiasme que ça
                            Mais, plein d'espoir et d'abnégation, je retente une nouvelle question.

                            La solution que j'évoque ci-dessus me convient très bien a priori, mais je note un petit détail qui me chiffonne. Si j'entre des codes faux dans mes champs d'identification, après avoir validé, je suis redirigé sur la page d'accueil, sauf que l'url n'est pas réécrite. J'obtiens :


                            Ce comportement me déroute un peu. Il ne devrait pas juste y avoir un message pour indiquer que les codes sont faux ? L'action en cas de mauvais login n'est pas paramétrable ?

                            Commentaire


                            • #15
                              Voici quelques nouvelles de mon projet :

                              Pour rappel, auparavant, le menu item qui menait à ma page était de type "afficher un article" (dont la lecture était réservée aux utilisateurs enregistrés).
                              J'avais ajouté une position de module sur cette page et avais publié un module de connexion au sein de cette position de module.
                              Comme je l'expliquais plus haut, tout se passait bien, mis à part que l'entrée de codes inexistants provoquait une redirection vers la page d'accueil (ainsi que des messages systèmes pas toujours appropriés).

                              J'ai donc testé la stratégie inverse : mon lien de menu est désormais de type "connexion" (sans publication d'aucun module de connexion sur cette page). La connexion, déconnexion, la gestion des "faux utilisateurs" ainsi que les messages d'erreurs se font maintenant de manière correcte.
                              J'injecte ensuite mon contenu dans ma page via un module.

                              Donc on dirait que tout se passe bien. Mais tout ça fait naître la question suivante pour moi : quelle différence y a-t-il entre l'utilisation d'un module de connexion et un lien de menu de type connexion ? Pourquoi l'un fonctionne et l'autre pas ? Ces deux stratégies ne devraient-elles pas aboutir au même résultat ?

                              Commentaire

                              Annonce

                              Réduire
                              Aucune annonce pour le moment.

                              Partenaire de l'association

                              Réduire

                              Hébergeur Web PlanetHoster
                              Travaille ...
                              X