|

Dans cet article vous découvrirez comment permettre l'authentification unique sur vos différentes installations Drupal, et ce sans installer de modules.
PRESENTATION ET TELECHARGEMENT DES MODULES
Il est relativement simple d'effectuer une installation dites "multi-sites" de Drupal de façon à obtenir différents sous-sites pour un même domaine, par exemple :
http://www.computure.net/monsite1
http://www.computure.net/monsite2
http://www.computure.net/monsite3
Je ne redétaillerai pas une nouvelle fois cette procédure qui est expliquée un peu partout sur Internet, si vous rencontrez des difficultés, vous pouvez suivre ce tutorial :
http://www.dator.fr/installation-multisite-drupal/
En revanche, les choses se compliquent un peu lorsque l'on souhaite se logger une seule fois sur l'ensemble des sous-sites du domaine. Il existe quelques modules pour Drupal 6 prêts à l'emploi comme SSO ou encore Multisite Site Login
mais il sont surdimensionnés au regard de notre besoin. En effet, Drupal permet nativement cette authentification unique.
Supposons que vous venez d'effectuer une installation multisite avec les 3 sites de l'exemple ci-dessus, rendez-vous dans le fichier settings.php de votre 1er site sous-site drupal pour rajouter les lignes suivantes :
if (isset($_SERVER['HTTP_HOST'])) {
$domain = '.'. preg_replace('`^www.`', '', $_SERVER['HTTP_HOST']);
if (count(explode('.', $domain)) > 2) {
ini_set('session.cookie_domain', $domain);
}
}
$cookie_domain = $domain;
// Remplacer la ligne $db_prefix = ''; par :
$db_prefix = array(
'default' => '',
'users' => 'bdd_partagee.',
'sessions' => 'bdd_partagee.',
'authmap' => 'bdd_partagee.'
);
Les premières lignes permettent le partage du cookie nécessaire à l'identification entre tous les sous-sites de votre domaine. Le tableau db_prefix, contient les tables de la base de données à centraliser entre les différentes sous-sites (ici bdd_partagee).
Répétez l'opération pour les sites 2 et 3 ou copier/coller le fichier settings.php du site 1 vers les autres sous-sites en veillant bien à conserver la variable de configuration $db_url.
C'est tout .
Articles connexes :
Tutorial : Installer et configurer xml sitemap pour drupal
Liste de sites réalisés avec Drupal
Personnaliser le style (views,node,nlock) d'un site Drupal
Tutorial Drupal : Référencer son site avec les modules Nodewords et Integrated Metatags
N'hésitez pas à nous faire part de vos remarques en commentaire.
|