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 :
if ($bddext_present) $auths[] = 'bddext';
- inc_login.php3
Remplacer la ligne :
$flag_autres_sources = $GLOBALS['ldap_present'];
Par la ligne :
$flag_autres_sources = $GLOBALS['ldap_present'] || $GLOBALS['bddext_present'];
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 :
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')."\"></DIV>";
echo "</FORM>";
echo "</DIV>";
echo "<p>";
}
if (!$bddext_present) {
echo "<div style='border: 1px solid #404040; padding: 10px; text-align: left;'>";
echo "<b>"._T('info_authentification_externe')."</b>";
echo "<p>"._T('bddext:texte_annuaire_1');
echo "<FORM ACTION='install_bddext.php3' METHOD='post'>";
echo "<INPUT TYPE='hidden' NAME='etape' VALUE='bddext1'>";
echo "<DIV align='$spip_lang_right'><INPUT TYPE='submit' CLASS='fondl' NAME='Valider' VALUE=\""._T('bddext:bouton_acces')."\"></DIV>";
echo "</FORM>";
echo "</DIV>";
echo "<p>";
}
- mes_options.php3
Modifier ou créer le fichier ecrire/mes_options.php3 en ajoutant la ligne :
$mysql_rappel_connexion = true;
fichiers à ajouter (contenus dans le document joint) :
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 :
Cliquez sur le bouton Accès à MySQL
- Etape 1 : Configuration des accès à la base de données
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
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
- Etape 4bis : Mise en relation des champs spip/système externe
- Etape 5 : Validation avant de revenir à la dernière étape ’normale’
Valider cette étape.
Version pour SPIP 1.8.1 :
- le zip :
- 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.
Aucune discussion
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |