Script de connection automatique

Forum consacré à phpBB lui même. Comment tirer le meilleur de ce puissant forum.
Veuillez noter que ce forum n'est pas un forum de support officiel, il s'agit ici plus de partager que de demander.

Modérateur: Modérateurs

Script de connection automatique

Messagede lo.mc » Sam Mar 15, 2008 4:02 pm

Bonjour à tous !

Je souhaiterais disposer d'un script qui permettrais d'automatiser le log sur mon forum phpBB3.

J'explique : J'ai un portail d'identifiacation qui s'occupe de l'authentification des utilisateurs. Lorsque l'authentification est ok, l'utilisateur est redirigé vers le forum hébergé ailleurs.

Sachant que les identifiants/password des utilisateurs seront les memes sur le forum ET le portail d'identification, je souhaiterais que la redirection envoie les info de log pour que l'utilisateurs n'ai pas à re rentrer ses identifiants...

Suis je clair ? (lol)


J'ai déjà trouvé quelques tuto mais uniquement pour phpBB2, comme celui ci :


Code: Tout sélectionner
<?php
if ( $userdata['session_logged_in'] != '1')
{
  print('<form method="post" action="' . $phpbb_root_path. 'login.php" >
  Pseudo : <input type="text" name="username" />
  Mot de passe : <input type="password" name="password" />
  Connexion automatique : <input type="checkbox" name="autologin" />
  <input type="hidden" name="redirect" value="..' . $HTTP_SERVER_VARS['REQUEST_URI'] . '" />
  <input type="hidden" name="ext" value="1" />
  <input type="submit" name="login" value="Connexion" />
  </form>');
}
?>

Malheureusement, le fichier login.php ne semble plus exister sur phpBB3...

J'attend vos contributions avec impatience :)
lo.mc
 
Messages: 5
Inscription: Sam Mar 15, 2008 2:36 pm

Publicité

Messagede dcz » Dim Mar 23, 2008 1:34 pm

Si le portail n'est pas sur le même serveur que le forum, le plus simple me parait de passer directement par la base de donnée, en utilisant vraiment les sessions de phpBB3.

Avec un formulaire, tu pourrais à la rigueur permettre aux utilisateurs du portail de se connecter sur le forum, mais si tu veux que cela soit fait en même temps sur le portail, le plus simple est de n'utiliser qu'une table de session (celle de phpBB). Le portail doit pouvoir utiliser la DB du forum même en étant sur un autre serveur.

++
Useful links :
SEO Forum || SEO Directory || SEO phpBB || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Recherche
dcz
Admin
Admin
 
Messages: 21406
Inscription: Ven Avr 28, 2006 9:03 pm

Messagede lo.mc » Dim Mar 23, 2008 7:18 pm

Donc, si je comprend bien... (suis a peine plus que débutant en php/sql ;) )

Au lieu d'utiliser une base hebergé sur le meme espace que le portail, j'utilise celle de mon hebergeur tiers en utilisant les tables d'identification de phpbb. Ce donc pour eviter d'avoir deux bases "miroir" pour contenir les comptes utilisateurs :?:

Par contre là ou j'ai un peu plus de mal c'est au niveau des tables de sessions.
J'ai déjà eu l'occasion de constater que phpbb contenais des tables de sessions (un forum qui ayant buggé est reparti après RAZ desdites tables) sans chercher à les comprendre...

Ce qui en ressort après avoir tenté d'analyser leur contenu (phpmyadmin...) c'est que les utilisateurs sont identifié avec un ID et que la table repertorie certaines données liée (user agent, ip, config).

Donc, si je ne suis pas hors sujet, tu voudrais que l'identification sur le portail aille créer une session dans la BD distante après avoir utilisé les données de connection de phpBB pour authentifier les membres ?

Si j'ai touché juste, ce serais exactement ce qu'il me faudrais :)

Quelques questions lié aux sessions phpbb : Comment générer l'ID ? Comment les lier à l'utilisateur ?

Merci de vos réponses :)

Et merci cher administrateur d'avoir lié le pendant anglophone du topic à son coté français :) lol orsque je suis arrivé sur ce site c'étais via le forum anglophone, je n'ai découvert la partie fr que après avoir posté le topic ;)
lo.mc
 
Messages: 5
Inscription: Sam Mar 15, 2008 2:36 pm

Messagede lo.mc » Lun Mar 24, 2008 12:24 am

/up
lo.mc
 
Messages: 5
Inscription: Sam Mar 15, 2008 2:36 pm

Messagede dcz » Lun Mar 24, 2008 11:57 am

lo.mc a écrit:Donc, si je ne suis pas hors sujet, tu voudrais que l'identification sur le portail aille créer une session dans la BD distante après avoir utilisé les données de connexion de phpBB pour authentifier les membres ?

Si j'ai touché juste, ce serais exactement ce qu'il me faudrais :)


C'est exactement ça !

Mais cela implique de se plonger dans les sessions de phpBB, c'est pas hyper compliqué vu qu'on a un bon exemple dans includes/session.php, mais cela demande une assez bonne compréhension du code pour le reprendre.

Si le portail était hébergé sur le même serveur que le forum, tu pourrais te contenter de partager les sessions directement, en incluant les fichier de phpBB :

Code: Tout sélectionner
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);

// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();


mais cela peut poser problème avec le code du portail, si par exemple il utilise des variables ou des classes ayant le même nom que celle de phpBB (auquel cas, le plus simple et de faire comme si le portail n'était pas sur le même serveur, çad se faire un classe de sessions phpBB perso sans inclusion des fichiers de phpBB).

Voilà, c'est pas un truc simple à coder, enfin, c'est pas super complexe, mais c'est pas mal de code.

++
Useful links :
SEO Forum || SEO Directory || SEO phpBB || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Recherche
dcz
Admin
Admin
 
Messages: 21406
Inscription: Ven Avr 28, 2006 9:03 pm

Messagede lo.mc » Lun Mar 24, 2008 2:45 pm

Oki :)

Bon ben je sais ce qu'il me reste à faire : continuer plus en avant ma formation perso en php/sql ! De bon exercices formateur en perspective :)

Je vous tiens au courant de l'évolution de mes recherches... Après tout ça peut être une fonctionnalité interessante pour d'autres qui recherchent comme moi à bien planquer leur forum !

En fait le forum que je gère est un "contre pouvoir" à la direction de la société pour laquelle je bosse (grosse chaine de distribution high tech). La direction ne voyant pas la chose d'un bon oeil, je m'efforce de leur en masquer au maximum la provenance (entrée via un no-ip qui dirige sur le portail d'inscription hébergé en france et forum hébergé aux USA, visible uniquement par les inscriptions validées par moi meme)

A bientôt :)
lo.mc
 
Messages: 5
Inscription: Sam Mar 15, 2008 2:36 pm


Retourner vers Le Forum phpBB

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 10 invités