Archives FluxBB.fr

Les archives de FluxBB.fr

Vous n'êtes pas identifié(e).

#1 05-01-2008 23:48:58

flipflip
Membre

Authentification externe

Salut, je suis en train de mettre en place une plateforme de blog basé sur lifetype. Je souhaiterais ajouter un forum. J'ai déjà travaillé avec PunBB et je souhaiterais faire en sorte que punBB utilise les comptes créé sur lifetype. J'ai regardé rapidement punbb-simple-api mais apparament c'est plutôt pour récupérer des infos de punBB sur un autre portail.

Est-ce qu'il y a un moyen de faire en sorte soit avec punbb simple ou une modification directe du code ?

Merci d'avance.

Hors ligne

#2 05-01-2008 23:59:16

yemgi
Expatrié

Re : Authentification externe

PunBB est fait pour fonctionner dans le sens inverse. Avec PunSAPI ou sans, c'est l'application tierce qui utilise la base utilisateur de punBB

Hors ligne

#3 06-01-2008 08:32:45

flipflip
Membre

Re : Authentification externe

Salut et merci pour ta réponse.
C'est dommage que ça ne sois pas prévu dans le sens inverse aussi. Par exemple PhpWebGallery permet de fonctionner dans les deux sens.

Merci quand même.

Hors ligne

#4 06-01-2008 10:16:03

Pandark
Guide

Re : Authentification externe

Il faudrait que toutes les informations utilisateurs stoquées dans la table [c]*prefixe*user[/c] par punBB soient présentes dans la table des utilisateurs de lifetype, puis il faudrait remplacer toutes les occurrences de $db->prefix.'users$db->prefix.'users par le nom de la table des utilisateurs de lifetype...
Ce n'est certainement pas impossible, mais il n'existe simplement pas de procédure standard pour le faire smile


=>  Plugins | Modifications | Liens utiles   <=
                .._ -Pandark- _..
                Serial Dreamer

Hors ligne

#5 06-01-2008 12:25:34

flipflip
Membre

Re : Authentification externe

Pandark, merci pour ces précisions.
Peut être à soumettre à l'équipe de dev de punBB pour la suite.
Je reprend mon exemple avec PhpWebGallery. Les utilisateurs sont stockés de la façon suivante :
*prefix*users
*prefix*user_infos

*prefix*users contient :
{id,username,mail,password}

*prefix*user_infos contient :
{id,tout le reste nécessaire à PhpWebGallery au niveau utilisateur}

Ensuite dans la config on dit à PhpWebGallery que tout compte la table qui contient le username et le password c'est *prefix*user_lifetype (par exemple), on lui donne les correspondance des champs, on lui donne l'id du compte admin, du compte guest, on adapte la méthode de cryptage du mot de passe si elle est différente et roule ma poule. C'est très simple et diablement efficace.

Voila la partie configuration de PhpWebGallery qui concerne l'autentification externe :

// +-----------------------------------------------------------------------+
// |                           authentification                            |
// +-----------------------------------------------------------------------+
 
// apache_authentication : utiliser l'authentification HTTP d'Apache comme
// référence au lieu de la table des utilisateurs ?
$conf['apache_authentication'] = false;
 
// users_table : quelle table est la table de référence pour les
// utilisateurs ? Peut être une table externe à PhpWebGallery.
//
// Si vous décidez d'utiliser une table externe, vous devez préparer votre
// base de données en supprimant certains données :
//
// delete from phpwebgallery_user_access;
// delete from phpwebgallery_user_cache;
// delete from phpwebgallery_user_feed;
// delete from phpwebgallery_user_group;
// delete from phpwebgallery_user_infos;
// delete from phpwebgallery_sessions;
// delete from phpwebgallery_rate;
// update phpwebgallery_images set average_rate = NULL;
// delete from phpwebgallery_caddie;
// delete from phpwebgallery_favorites;
//
// Toutes les informations contenues dans ces tables sont relatives au
// contenu de la table des utilisateurs.
$conf['users_table'] = $prefixeTable.'users';
 
// user_fields : correspondance entre un nom générique de champ et le nom
// spécifique dans la table. Par exemple, dans PhpWebGallery, l'adresse
// email est "mail_address" et dans PunBB, son nom est "email".
$conf['user_fields'] = array(
  'id' => 'id',
  'username' => 'username',
  'password' => 'password',
  'email' => 'mail_address'
  );
 
// pass_convert : fonction pour chiffrer ou hasher le mot de passe afin de
// le stocker en base de donnée.
$conf['pass_convert'] = create_function('$s', 'return md5($s);');
 
// guest_id : identifiant de l'invité
$conf['guest_id'] = 2;
 
// webmaster_id : identifiant du webmaster
$conf['webmaster_id'] = 1;

Hors ligne

#6 06-01-2008 14:23:43

Pandark
Guide

Re : Authentification externe

Heu... j'oubliais, il faudrait aussi vérifier que le hachage des mots de passes soit bien le même (sha, md5...)
Et oui, pourquoi pas en parler à l'équipe de dev smile

Si tu parles un peu anglais, je te laisse le faire, sinon je veux bien jouer le rôle de porte parole ^^


=>  Plugins | Modifications | Liens utiles   <=
                .._ -Pandark- _..
                Serial Dreamer

Hors ligne

#7 06-01-2008 21:15:21

flipflip
Membre

Re : Authentification externe

Vu mon niveau faible d'anglais j'ai peur de pas arrivé à me faire comprendre sad
Ca m'arrangerais que tu fasse le porte parole smile

Merci.

Hors ligne

Pied de page des forums