Comment puis-je intégrer les connexions des utilisateurs de mon site à phpBB?

StackOverflow https://stackoverflow.com/questions/279655

  •  07-07-2019
  •  | 
  •  

Question

J'ai besoin d'aide pour une question qui concerne probablement les débutants en termes de modification de phpBB.

J'ai tout un système développé en PHP, et j'aimerais intégrer phpBB afin que les gens puissent naviguer sur les forums et poster de manière transparente, sans se connecter à nouveau.

Désormais, utiliser la table des utilisateurs phpBB en tant que table des utilisateurs de mon système (et que les utilisateurs s'inscrivent sur phpBB au lieu de sur mon site Web) n'est malheureusement pas possible (il faudrait plus de travail pour rétablir notre système que pour créer le nôtre. forum de base).
Je suppose que je peux me permettre de faire croire à phpBB qu'un certain ID utilisateur s'est connecté. Cependant, cet utilisateur n'existera pas dans le tableau des utilisateurs de phpBB (ce qui, à mon avis, entraînera une erreur presque partout). .

Tous les tutoriels et les messages de forum que je pourrais trouver impliquaient d'avoir phpBB comme primaire. Je n'ai rien trouvé qui puisse le faire à l'inverse.

Je suppose que le seul moyen possible de résoudre ce problème consiste à avoir les deux tables relativement synchronisées.

Maintenant, à condition que je puisse synchroniser les deux tables d'utilisateurs, quel est le meilleur moyen d'intégrer les deux sites, en conservant le nom d'utilisateur et le tableau d'utilisateurs de mon site comme "primaires" ceux-là?
Aussi, y a-t-il quelque chose en particulier que je devrais garder à l'esprit lors de la création d'enregistrements dans la table des utilisateurs de phpBB? Ou est-ce relativement simple à comprendre? À quelles tables devrais-je écrire s'il y en a plusieurs?

Était-ce utile?

La solution

C'est une vieille question donc je suis sûr que vous avez déjà résolu quelque chose, mais si vous avez besoin de refactoriser des choses à l'avenir, c'est tout à fait possible avec les plugins d'authentification dans phpBB3:

http://wiki.phpbb.com/Authentication_plugins

Je suis en train de travailler sur un projet où phpBB est le "secondaire" système, et ça se passe plutôt bien.

Autres conseils

Je viens juste de travailler sur cette tâche aujourd'hui, après que des recherches aient été effectuées sur un plug-in d'authentification . Voici un bon exemple. Amener phpBB à accepter les sessions Django

J’ai déjà intégré phpBB à un site, mais j’ai utilisé le tableau de connexion système / utilisateurs de phpBB en tant que tableau principal, comme vous l’avez dit. PhpBB étant un logiciel de forum assez avancé, changer de système d’utilisateur et de système de connexion prendrait beaucoup de temps.

Lorsque je devais utiliser le nom de connexion du site comme nom principal, j’utilisais PunBB . Il était beaucoup plus simple de modifier PunBB.

Si vous devez absolument utiliser votre propre login primaire et phpBB, je conviens avec vous que le moyen le plus simple est de garder les tables synchronisées et d'appeler les deux scripts de connexion lorsque quelqu'un se connecte.

Lorsque vous insérez des données dans phpBB, le tableau des utilisateurs est assez simple. Chaque entrée contient les informations de base d'un utilisateur et, si vous avez des champs personnalisés pour les profils utilisateur, ils vont dans les tables profile_fields et profile_fields_data .

Une chose délicate est que phpBB chiffre les mots de passe des utilisateurs. Je pense que vous devez utiliser la fonction phpBB appelée phpbb_hash ($ password) pour le faire. C'est déclaré dans le fichier phpbb / includes / functions.php

Pour le code de connexion phpBB, voir funciton login_box du fichier phpbb / includes / functions.php

Vous pouvez utiliser ce qui suit pour vous connecter à phpBB:

$result=$auth->login($username, $password);

if ($result['status'] == LOGIN_SUCCESS) {

  echo "You're logged in";

} else {

  echo $user->lang[$result['error_msg']];

}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top