Connexion à une base de données externe

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

  • Connexion à une base de données externe

    Bonjour,

    Voilà mon problème. J'ai une autre base de données externe, dans laquelle, j'ai la liste des login et mot de passe, car c'est une base de données utilisées pour un autre site, qui n'est pas sous Joomla.
    Dans mon site sous Joomla, je voudrais pouvoir intégrer ces utilisateurs sur mon site.
    J'aurais donc besoin de récupérer ces comptes, car ces mêmes personnes doivent pouvoir se connecter à mon site (sous Joomla avec les mêmes identifiants).

    Comment puis je faire ?

    Merci beaucoup pour votre aide.

  • #2
    Bonjour,

    Si je comprends bien, l'identification ne sera pas partagée, mais les identifiant et mot de passe oui.
    Il y a plusieurs questions à régler : d'abord l'autorisation d'accéder à cette base externe (est-elle quand même chez le même hébergeur ?), ensuite l'encodage du mot de passe (est-il le même que pour Joomla! ? as-tu tenté d'ajouter un utilisateur test créé dans cette base puis copié entre bases pour t'assurer que ce mot de passe est fonctionnel ?) mais aussi est-ce que tes utilisateurs s'inscriront uniquement depuis l'autre site non-Joomla! ?
    Après se pose la question de la manière dont tu veux intégrer ces membres : par copie de base à base ? Si oui, je verrais bien un script appelé par une tâche cron.
    "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.

      Il faut un peu approfondir ton étude et si tu veux un fonctionnement totalement synchrone et n'avoir qu'un login, il faut faire un "bridge" entre les 2 sites.

      Comment cela va-t-il fonctionner ?
      Lequel des 2 sites sera le "maitre" et as-tu les compétences pour développer (car dans tous les cas il faudra coder) et les connaissances (et l'accès sur l'autre site).

      Donc la logique :
      • quand un membre va se loguer sur le site "maitre", il faudra récupérer son identifiant et son mot de passe en clair.
      • voir dans une table de mappage si la correspondance ente l'id du 1er site avec celui du 2ème site existe
      • si elle n'existe pas c'est que le profil du 2ème site (Joomla à priori) n'a pas encore été crée.
        • on récupère les information et le mot de passe en clair pour créer le profil sur le 2ème site
        • on enregistre le profil (et on l'active),
          on récupère l'id
          et on enregistre la correspondance id site 1 <-> id site 2 dans la table de mappage qui sera sur le site "maître" (celui où l'on veut faire l'identification)
        • on effectue l'identification et la pose du cookie pour le 2ème site
      • si la correspondance existe, on fait juste le point précédent (identification).
      En général quand je l'ai fait, l'idée était toujours d'entamer une migration (totale à terme) vers un nouveau site sous Joomla mais en général avec beaucoup de développements (donc sur une période de migration longue, nécessitant une fonctionnement en parallèle des 2 sites : migration sur +ieurs années par exemple).

      J'ai donc toujours pris le site Joomla en maitre, mais j'ai importé les profils au préalable et créant la table de mappage sur la DB de Joomla.

      Ceci nécessite de connaitre les mot de passe en clair (Il faut donc anticiper et les stocker en clair lors des logins précédents sur le site actuel).

      Sinon on peut aussi créer les profils et seulement récupérer le mot de passe lors du login suivant.
      Si on se logue sur le site Joomla (donc sans avoir le mot de passe crypté dans le profil), il faut avant tout lancer le login (automatique) sur l'ancien site.
      S'il "passe", le mot de passe est bon, on peut donc le valider dans le profil de Joomla en utilisant les fonctions de cryptage de Joomla.

      Il faut aussi prévoir les mises à jour en simultané des profils sur les 2 sites quand un membre fera une mise à jour ou lors d'une nouvelle inscription.

      Franchement avec le système de plugins de Joomla qui permet d'agir lors d'évènements, c'est en général plus facile de placer le site Joomla en "maitre".

      Bref il y a plusieurs approches, mais il faut bien connaitre les procédures d’authentification de chaque site, et bien sur coder un peu.

      Et c'est quand même un plus facile si les 2 sites sont dans le même domaine et que le site "maitre" peut accéder aux cookies de l'autre site.
      Dernière édition par roland_d_alsace à 16/06/2020, 13h13
      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

      Annonce

      Réduire
      Aucune annonce pour le moment.

      Partenaire de l'association

      Réduire

      Hébergeur Web PlanetHoster
      Travaille ...
      X