Partage de connexion entre deux sites

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

  • [RÉGLÉ] Partage de connexion entre deux sites

    Bonjour,

    Ne retrouvant pas la discussion d'un autre membre sur laquelle j'ai récemment posé une question, et compte tenu de la spécificité de la gestion envisagée, je préfère ouvrir une autre discussion.

    Sur le site pour lequel j'ai précédemment posé la question d'une gestion de documents, compte tenu de l'importance des données d'archives qui devront être stockées (images, PDF, fichiers audio et vidéo), plus environ 2000 articles incluant les shortcodes UP pour l'affichage de ces fichiers, j'envisage de dédoubler le site, la référence dans le site principal mènera à la page situé sur le site de gestion des archives.
    Le but est de ne pas alourdir le site principal, en créant une deuxième instance de Joomla!.

    Ce qu'il faut gérer, c'est un partage de connexion afin que le visiteur, obligatoirement enregistré (site d'une association et archives non publiques), soit automatiquement reconnu conne déjà authentifié.
    Il est question de partage dans cette discussion https://forum.joomla.fr/forum/joomla...vh#post2007812

    Le problème à régler est double : je souhaite que chaque site ait sa propre base, toujours pour des questions de lourdeur ; tous les membres de base utilisent un identifiant unique.

    Est-il possible de partager une telle connexion en utilisant deux bases distinctes, et le fait qu'il n'y ait qu'un identifiant pour les simples membres et que donc plusieurs pourront être connectés en même temps est-il compatible avec un tel partage ?

    Merci de vos conseils !

    Précisions : les sites seront chez PlanetHoster (le principal y est déjà) et j'ai même imaginé que les fichiers puissent être stockés dans la partie privée de N0C Storage, si le plugin S3 de Nicholas s'y prête
    Dernière édition par RobertG à 05/11/2024, 11h52
    "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

  • #2
    A bien y réfléchir, plus qu'un partage de tables, c'est plutôt un bridge entre les deux sites qui conviendrait, non ?
    Mais je ne suis pas sûr que ça existe.

    Autre solution : afficher en iframe les pages du deuxième site, en bloquant tout accès autre que depuis le serveur lui-même, mais alors comment gérer l'accès des administrateurs?

    Je m'en pose, des questions !
    "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


    • #3
      Hello

      Est-ce que https://forum.joomla.fr/forum/joomla...tre-deux-sites ne serait pas l'astuce que tu cherches ?
      Christophe (cavo789)
      Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
      Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

      Commentaire


      • #4
        Merci Christophe, mais on retrouve ce que j'ai cité, où woluweb explique comment partager les tables sur la même base de données.
        Et en fait, comme l'accès direct sera interdit, il ne se fera que depuis un lien pour chaque page dans le site principal, c'est bien un bridge qui ferait l'affaire : le visiteur se connecte au site principal, il peut voir le lien qui le conduit à la liste des images, etc. et il est considéré comme identifié en arrivant sur la page du site d'archives.

        Il ne doit pas y avoir de connexion directe du membre au site d'archives.
        "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


        • #5
          Tiens, c'est curieux !
          Je viens de tester un blocage par .htaccess en n'autorisant que l'IP d'un autre site du même serveur (autre que 123 de l'exemple)
          Code:
          Order deny,allow
          Deny from all
          Allow from 123.123.123.123​
          Je ne peux pas accéder au site, erreur 403. C'est ce que je cherche.
          Dans un autre site du même serveur qui a sa propre IP, celle autorisée donc, je mets le lien vers le site protégé et j'ai là aussi une erreur 403.
          Qu'ai-je oublié ??? Y a-t-il une autre méthode qui fonctionnerait ?
          "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
            Bonjour,

            J'ai échangé avec l'auteur de Mighty Sites qui n'a pas de solution à me proposer et reste persuadé qu'un site unique est ce qui est le mieux.

            Si donc il est impossible de trouver un bridge pour partager la connexion, comment serait-il possible d'interdire tout accès au site d'archives sauf en y accédant depuis le site principal situé sur le même serveur.

            La solution ".htaccess" avec autorisation seulement de l'IP du serveur où sont les deux sites (+ celle du webmaster si elle est fixe) ne semblant pas efficace, y en aurait-il une autre ?
            "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


            • #7
              Hello Robert.
              Je ne sais pas si j'ai bien compris ta demande.
              J'ai compris que tu veux une identification unique pour 2 moteurs de site, joomla et un autre.

              Si les 2 sites sont dans le même domaine, j'ai déjà effectué une démarche analogue, lors de migration progressive d'un site non joomla vers un site joomla.

              Au login de joomla, via un plugin système spécifique, je posais le cookie correspondant au login du 2ème site.
              Il faut bien sûr connaitre l'id de l'utilisateur par une table de correspondance, avoir accès aux bases des 2 moteurs de site, et exécuter les éventuelles routines spécifiques au login du 2ème site.
              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


              • #8
                Bonjour et merci Roland,

                Il s'agirait de deux sites Joomla!
                Le site principal a actuellement plus de 1100 articles et une flopée de liens de menus. Le site d'archive devrait avoir d'ici fin 2025 environ 2000 articles.
                L'idée est de ne pas avoir tout sur la même installation de Joomla : le site principal comporte une partie publique et une partie privée.
                Dans la partie privée, une liste de liens correspondant à des événements concernant l'association permet d'ouvrir pour chaque lien une page contenant une galerie d'images, une liste de PDF et si présents des fichiers audio et vidéo contenus dans un dossier dédié à l'événement.
                Cette partie "archive" ne doit pas être accessible au public, mais seulement aux membres.
                Dans la mesure où les membres se connectent sur le site principal pour accéder à différentes informations privées, il faut que s'ils veulent aller voir les images et autres de telle ou telle manifestation, ils puissent être reconnus comme déjà connectés.
                Bref, c'est un bridge comme on en voit pour des connexions à des forums externes qui serait probablement la solution. A une époque où j'utilisais Coppermine, il existait dans Coppermine un tel bridge permettant d'accéder à Coppermine comme membre connecté une fois connecté au site Joomla!

                Le souci supplémentaire est que tous les membres sans rôle administratif utilisent le même identifiant/mot de passe...
                "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


                • #9
                  il est considéré comme identifié en arrivant sur la page du site d'archives.
                  la base de données du site principal est sur le meme serveur sql que tes sites archives ou pas?
                  si la reponse est oui, créer des vues est le plus simple.
                  ton visiteur arrives sur le site principal , s authentifies et ensuite va dans les archives.
                  Sur tes sites archives, supprimes les modules de connexion qui sont en frontend. Comme ca aucun accès direct pour l'utilisateur (adherent)
                  Ne gardes que les modules pour administrator. Et n'autorise les acces via administrator que pour les admin et super admin. La ils seront bien verrouillés.
                  Sinon, regarde sur le JED si tu vois une extension
                  Dernière édition par lefabdu51 à 06/11/2024, 18h23

                  Commentaire


                  • #10
                    Merci, même si je n'ai pas tout compris.
                    Les deux sites seront sur le même serveur, avec chacun son Joomla! et sa base.

                    Je n'ai pas trouvé d'extension sur le JED qui puisse constituer un bridge entre deus sites Joomla!
                    "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
                      Dans ce cas la si les deux bases sont sur le même serveur sql, tu suit la procédure ci dessous :
                      tu te connectes en root sur le serveur sql ou sont les bases de données.
                      Ou alors il faut que tu ais ce privilege sur les deux bases:
                      Code:
                      GRANT ALTER ON ma_base.ma_table TO mon_utilisateur;​
                      tu utilise la base de données du site archive:
                      Code:
                      use db_archive;
                      Ensuite renomme les tables suivantes du site archive:
                      (change Prefixslave pour le prefixe de tes tables Joomla du site archive)
                      Code:
                      RENAME TABLE `PrefixSlave_session` TO `PrefixSlave_session_bak`;
                      RENAME TABLE `PrefixSlave_users` TO `PrefixSlave_users_bak`;
                      RENAME TABLE `PrefixSlave_usergroups` TO `PrefixSlave_usergroups_bak`;
                      RENAME TABLE `PrefixSlave_user_keys` TO `PrefixSlave_user_keys_bak`;
                      RENAME TABLE `PrefixSlave_user_notes` TO `PrefixSlave_user_notes_bak`;
                      RENAME TABLE `PrefixSlave_user_profiles` TO `PrefixSlave_user_profiles_bak`;
                      RENAME TABLE `PrefixSlave_user_usergroup_map` TO `PrefixSlave_user_usergroup_map_bak`;
                      RENAME TABLE `PrefixSlave_viewlevels` TO `PrefixSlave_viewlevels_bak`;​
                      A ce stade, tu n'as que la partie utilisateur de la base de données du site principal qui contient les données utilisateurs
                      il est impossible de se connecter sur le site archive.

                      Ensuite tu crées une vue de ces tables qui ira chercher les informations utilisateurs sur le site principal au lieu di site archive.
                      (change Prefixslave pour le prefixe de tes tables Joomla du site archive)
                      ​(change dbMaster pour le le nom de la base de données du site principal)
                      ​(change PrefixMasterpour le prefixe de tes tables Joomla du site principal)

                      Code:
                      CREATE VIEW PrefixSlave_session AS SELECT * FROM dbMaster.PrefixMaster_session;
                      CREATE VIEW PrefixSlave_users AS SELECT * FROM dbMaster.PrefixMaster_users;
                      CREATE VIEW PrefixSlave_usergroups AS SELECT * FROM dbMaster.PrefixMaster_usergroups;
                      CREATE VIEW PrefixSlave_user_keys AS SELECT * FROM dbMaster.PrefixMaster_user_keys;
                      CREATE VIEW PrefixSlave_user_notes AS SELECT * FROM dbMaster.PrefixMaster_user_notes;
                      CREATE VIEW PrefixSlave_user_profiles AS SELECT * FROM dbMaster.PrefixMaster_user_profiles;
                      CREATE VIEW PrefixSlave_user_usergroup_map AS SELECT * FROM dbMaster.PrefixMaster_user_usergroup_map;
                      CREATE VIEW PrefixSlave_viewlevels AS SELECT * FROM dbMaster.PrefixMaster_viewlevels;​
                      Après ceci, toute la gestion des utilisateurs se fait sur la base de données du site principal.
                      Et quand tu accède au site 2, tu n as pas a a te reauthentifier normalement, car il s'agit de la même session.

                      Tu peux donc supprimer tout module de connexion frontal sur le site archives
                      Dernière édition par lefabdu51 à 07/11/2024, 13h09

                      Commentaire


                      • #12
                        Merci, mais l'hébergement étant mutualisé, je ne pense pas que ce soit possible, pas d'accès root sur le serveur des bases.
                        "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


                        • #13
                          ce n 'est pas grave si ton utilisateur a le droit de créer une table, tu peux aussi la renommer

                          Commentaire


                          • #14
                            Merci !
                            Créer et renommer est possible.
                            Il va me falloir essayer sur deux sites de tests.
                            "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


                            • #15
                              En complément, comme je l'ai dit plus haut, je voudrais protéger tous ces fichiers d'archives d'un accès direct par URL.
                              Sur un de mes sites, j'ai tenté dans le dossier images un "Deny from all" mais il bloque l'affichage des images dans les articles, alors que certaines extensions ont cette instruction pour une telle protection, qu'elles savent onc contourner.
                              Ma tentative également de n'autoriser que l'IP du serveur pour un accès au deuxième site a échoué.

                              Je viens d'essayer ce code
                              Code:
                              Order Allow,Deny
                              Allow from les-photos.xn--de-erg-gva.fr
                              ​​
                              Plus aucune image ne s'affiche sur le site les-photos.xn--de-erg-gva.fr
                              Pourtant, j'utilise l'exemple de la donc d'un hébergeur
                              Code:
                              order allow,deny
                              Allow from mondomaine.com​
                              Même souci avec l'IP du serveur !
                              Dernière édition par RobertG à 07/11/2024, 18h17
                              "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

                              Annonce

                              Réduire
                              Aucune annonce pour le moment.

                              Partenaire de l'association

                              Réduire

                              Hébergeur Web PlanetHoster
                              Travaille ...
                              X