SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano

274 Plugins, 192 contribs sur SPIP-Zone, 187 visiteurs en ce moment

Accueil > Auteurs, authentification et autorisations > Authentification > Archives Authentification > Authentification externe par une base MySql

Authentification externe par une base MySql

15 septembre 2003 – par James – 10 commentaires

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

Permettre de gérer les utilisateurs d’un site SPIP depuis un autre système fonctionnant avec une Base de Données MySql

Objectif

Permettre de gérer les utilisateurs d’un site SPIP depuis un autre système fonctionnant avec une Base de Données MySql.

Principe

Ce module s’inspire du fonctionnement de l’authentification habituel de SPIP. Compte-tenu de la grande variété des système de base de données et des systèmes de gestion de comptes utilisateurs, il est impossible de définir un fonctionnement général et/ou universel sans préciser quelques paramètres. Par conséquent, il est livré avec une interface de configuration.

Les modifications du noyau sont minimes, jugez-en vous-même :

Installation

Fichiers à modifier :

-  spip_cookie.php3

Sous les lignes :

// Essayer differentes methodes d'authentification
$auths = array('spip');
if ($ldap_present) $auths[] = 'ldap';

Ajouter la ligne :

-  inc_login.php3

Remplacer la ligne :

$flag_autres_sources = $GLOBALS['ldap_present'];

Par la ligne :

dans ecrire/

-  install.php3

Remplacer les lignes :

if ($flag_ldap AND !$ldap_present) {
        echo "<div style='border: 1px solid #404040; padding: 10px; text-align: left;'>";
        echo "<b>"._T('info_authentification_externe')."</b>";
        echo "<p>"._T('texte_annuaire_ldap_1');
        echo "<FORM ACTION='install.php3' METHOD='post'>";
        echo "<INPUT TYPE='hidden' NAME='etape' VALUE='ldap1'>";
        echo "<DIV align='$spip_lang_right'><INPUT TYPE='submit' CLASS='fondl' NAME='Valider' VALUE=\""._T('bouton_acces_ldap')."\">";
        echo "</FORM>";
}

Par les lignes :

-  mes_options.php3

Modifier ou créer le fichier ecrire/mes_options.php3 en ajoutant la ligne :

fichiers à ajouter (contenus dans le document joint) :

Zip - 6.9 ko
module bddext

ecrire/

-  inc_auth_bddext.php3
-  inc_defaut_bddext.php3
-  install_bddext.php3

ecrire/lang/

-  bddext_fr.php3

Configuration

-  Prise en charge de l’option

Un bloc supplémentaire apparaît dans l’étape 5 de l’installation de SPIP :

GIF - 4.7 ko
Prise en charge de l’option
5ième étape de l’installation normale de SPIP

Cliquez sur le bouton Accès à MySQL

-  Etape 1 : Configuration des accès à la base de données

GIF - 30.3 ko
Configuration de la base de données
1ère étape de la configuration du module

La liste déroulante propose un choix qui entrainera la sélection d’élément par défaut.

-  Etape 2 : Validation ou Erreur de l’étape précédente

Validez cette étape ou bien retournez en arrière pour effectuer les corrections éventuelles

-  Etape 3 : Choix de la base et du préfixe éventuel des tables

GIF - 14.2 ko
Configuration de la BDD (2)
3ième étape de la configuration du module

La saisie d’un préfixe permet de réduire le choix de tables de l’étape suivante. Si vous n’êtes pas sur, vider le champ.

-  Etape 4 : Sélection de la table des utilisateurs, de leur statut par défaut et du mode de cryptage du mot de passe

GIF - 20.4 ko
Paramétrage de la table utilisateurs et statut
4ième étape de la configuration du module

-  Etape 4bis : Mise en relation des champs spip/système externe

GIF - 17.2 ko
Mise en relation des champs
avant dernière étape de la configuration du module

-  Etape 5 : Validation avant de revenir à la dernière étape ’normale’

Valider cette étape.


Version pour SPIP 1.8.1 :

  • le zip :
    Zip - 10.9 ko
    module bddext pour SPIP1.8.1
  • le contenu du fichier .patch contient les modifs à effectuer sur spip_cookie.php3 et ecrire/install.php3
  • Merci à Joe « Ultron » ACHIM ed Net-Passions.Org pour sa patience et ses tests

Important

Cette mise à jour est faite pour dépanner les utilisateurs de cette contribution souhaitant migrer leur site vers une version spip 1.8.1

Les développements pourraient reprendre, mais sur une autre base de fonctionnement.

Retour en haut de la page

Vos commentaires

  • Le 20 avril 2009 à 10:52, par didougrenade En réponse à : Authentification externe par une base MySql

    Bonjour j’aimerai savoir s’il existe un moyen sous spip 2.0.6 pour qu’un visiteur se connecte à une page avec un mot de passe et un login contenus dans une base de données mysql. merci d’avance

    Répondre à ce message

  • Le 3 décembre 2005 à 00:48, par bobjol En réponse à : Authentification externe par une base MySql

    Bonjour,
    Je voudrais mettre en place un site avec ce système d’authentification, j’ai essayé la contrib avec la version 1.8.2 et j’obtient l’erreur suivante :

    Fatal error : Cannot redeclare spip_connect_bddext() (previously declared in D :\www\site\ecrire\inc_connect.php3:8) in D :\www\site\ecrire\inc_connect.php3 on line 11

    J’ai fouillé en long en large les fichiers de spip (je débute sous spip), j’ai essayé de faires quelques modifs, mais à chaque fois ça déplace le problème.

    Celà vient (je pense) du faite que dans la v1.8.2 il n’y a pas le fichier inc_login.php3 et que du coup je n’ai pas pu remplacer la ligne indiqué. J’ai cherché si cette ligne était tout ou en partie présente ailleurs, je n’ai rien trouvé...

    Une idée ? Sinon je prendrais la version précédente...

    Merci !

    • Le 3 décembre 2005 à 13:18, par James En réponse à : Authentification externe par une base MySql

      Salut,

      Je propose un zip pour spip 1.8.1 en bas de la contrib. S’il ne fonctionne pas sur spip1.8.2 cela veut dire que cette contrib est obsolète. Comme précisé, je ne la maintiens plus tel quel. Et si je reprends le développement de ce genre de fonctionalité un jour, se sera autrement.

      Désolé.

    • Le 3 décembre 2005 à 23:34, par bobjol En réponse à : Authentification externe par une base MySql

      Bonjour,

      Merci, de votre réponse.

      J’avais pris note que la manipulation pouvait ne pas fonctionner avec une version ultérieure, j’ai simplement posé la question au cas où quelqu’un s’était penché sur le problème avec la dernière version.

      J’ai retenté ma chance avec la version 1.8.1 téléchargée sur le site de spip : je ne trouve pas non plus le fichier inc_login.php3 !

      Bon, j’ai réalisé la manipulation sans ce fichier, et on obtient la même erreur.
      Pour résoudre cette erreur (ne fonctionne pas completement avec la version 1.8.2) :

      Un fois spip installé avec la manipulation ici présente créez le fichier bddext.php3 (avec les balises php biensûr)

      Copier le bloc suivant qui est présent dans inc_connect.php3 dans le nouveau fichier.

      function spip_connect_bddext()
      $GLOBALS[’bddext_link’] = @mysql_connect("serveur","nom","pass") ;
      @mysql_select_db("bdd") ;
      return $GLOBALS[’bddext_link’] ;

      Ajoutez à la fin de votre fichier bddext.php3 la ligne suivante :

      $GLOBALS[’bddext_ok’] = true ;

      Puis remplacez le bloc précédent dans inc_connect.php3 par

      if (!$GLOBALS[’bddext_ok’])

      include(’bbdext.php3’) ;

      Dans la version 1.8.2 malheureusement l’authentification externe ne fonctionne pas, je n’ai pas encore trouvé pourquoi.

      Désolé pour la mise en page, j’ai pas encore compris les raccourcis typographiques de spip... Donc n’oubliez pas qu’il y a quelques accolades qui sont manquantes !

    Répondre à ce message

  • Le 30 septembre 2006 à 12:55, par Bionet En réponse à : Procédure particulière pour SPIP 1.9 ?

    Bonjour,

    y aurait-il une procédure particulière pour SPIP 1.9 car je n’arrive pas à faire fonctionner cette liaison entre les tables de PHPBB et SPIP.

    Bien cordialement

    Répondre à ce message

  • Le 10 août 2005 à 15:54, par Miss Mopi En réponse à : > Authentification externe par une base MySql

    J’ai testé cette contribution et elle fonctionne bien merci.

    Pour pouvoir pousser les choses plus loin, j’aurai vuolu savoir par quel moyen SPIP est capable de matcher les utilisateurs SPIP et les utilisateurs PHP-BB.

    Je voudrais être sûre d’avoir bien tout compris aussi :

    le login+nom, l’adresse du site, et l’adresse email sont importés mais non modifiés par la suite, alors que le mot de passe est géré par PHP-BB. C’est ça ?

    Merci d’avance !

    Répondre à ce message

  • Le 9 octobre 2004 à 12:53, par smrhp En réponse à : > Authentification externe par une base MySql

    bonjour,

    testé ce MOD, ça fonctionne bien.

    En revanche est-il possible carrément d’utiliser aussi une sorte de « login automatique » lorsqu’on est identifié sous phpBB ?? c’est à dire que si on est déjà identifié via phpBB, peut on s’arranger pour que l’accès à spip/ecrire soit automatique sans passer par la phase resaisie du login/mdp ??

    merci.

    • Le 9 octobre 2004 à 13:31, par James En réponse à : > Authentification externe par une base MySql

      Pour cela, il faut étudier les cookies spip_session de spip concernant le répertoire ecrire et phpbb_data/phpbb_sid pour le forum phpbb.

      bidouiller le code de vérification de session de spip, mais sans doute aussi celui de phpbb histoire que ça marche dans les deux sens.

      Voilà, bon courage ;-)

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d'abord sur gravatar.com (gratuit et indolore) et n'oubliez pas d'indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • SPIP 3.0

    19 mai – 13 commentaires

    Nous avons le plaisir de vous annoncer la sortie de SPIP 3.0 ! Cette nouvelle version vous permet toujours de publier du contenu pour internet et de créer des sites avec une grande facilité. De nombreuses évolutions facilitent son utilisation (...)

  • Les Boîtes Privées

    3 janvier 2008 – 24 commentaires

    Les « Boîtes Privées » sont des cadres qui peuvent apparaître selon vos souhaits ici ou là dans la partie privée de votre site et vous donner des renseignements parfois fort utiles : Les articles au format SPIP, Les auteurs en stat, Les URLs propres, (...)

  • Plugin SPIPAL

    10 janvier 2011 – 83 commentaires

    Pour intégrer un système de paiement immédiat via PayPal à certains de vos articles . Ce plugin est une mise à niveau pour la version SPIP 2.1.8 du Plugin GoPayPal qui était resté en SPIP 1.9.2 depuis 3 ans. Il change de nom pour ne pas faire trop (...)

  • basicône : icônes du thème privé

    23 mars – commentaires

    Voici un jeu d’icônes pour l’espace privé de SPIP3. Pour tenter de s’accorder facilement avec toutes les couleurs possibles de l’interface, et même avec celles qui n’existent pas encore, les icônes n’utilisent que le noir et les transparences permises (...)

  • Nouvelle mise à jour SPIP 2.1.14, 2.0.19 et 1.9.2.p

    15 mai – commentaires

    Une nouvelle version de SPIP est disponible pour corriger quelques imperfections de la 2.1.13 : affichage d’erreurs php sans gravité, bug lors de l’ajout de document, etc. Cette version corrige également un malfonctionnement javascript bénin. (...)