如何将用户登录从我的网站集成到phpBB?

时间:2008-11-11 00:22:10

标签: login phpbb

在修改phpBB方面,我需要一些可能是新手问题的帮助。

我有一个用PHP开发的整个系统,我想集成phpBB,以便人们可以导航到论坛并无缝发布,而无需再次登录。

现在,使用phpBB用户表作为我的系统的用户表(并让人们在phpBB而不是在我的网站中注册)是不可能的(重做我们的系统需要做更多工作而不是构建我们自己的系统基础论坛) 我假设我可以破解我的方式让phpBB相信某个用户ID已经登录,但是,该用户将不会存在于phpBB的用户表中(我假设它会导致它几乎无处不在)

我能找到的所有教程和论坛帖子都暗示以phpBB为主要内容。我没有找到任何相反的方法。

我猜测解决这个问题的唯一可行方法是让两个表相对同步。

现在,只要我可以让两个用户表同步,集成两个站点的最佳方法是什么,将我的站点的登录和用户表保持为“主要”表? 另外,在phpBB的用户表中创建记录时,有什么特别要注意的吗?或者弄清楚它是否相对简单?如果有多个表格,我应该写什么表?

4 个答案:

答案 0 :(得分:11)

这是一个老问题,所以我确定你现在已经解决了一些问题,但如果你将来需要重构一些东西,这完全可以通过phpBB3中的身份验证插件实现:

http://wiki.phpbb.com/Authentication_plugins

我现在正在开发一个phpBB是“辅助”系统的地方,而且它的进展非常顺利。

答案 1 :(得分:7)

我刚刚完成了这项任务,经过一些调查实施了Authentication plugin这是一个很好的例子Getting phpBB to accept Django sessions

答案 2 :(得分:6)

之前我已将phpBB与网站集成,但是我使用phpBB的登录系统/用户表作为主要表格。由于phpBB是一个非常先进的论坛软件,完全改变其用户和登录系统将是一个非常耗时的项目。

当我不得不使用网站的登录作为主要登录时,我使用了PunBB。修改PunBB简单得多。

如果你必须使用你自己的登录作为主要和phpBB,那么我同意你的看法,最简单的方法是保持表同步,并在有人登录时调用两个登录脚本。

当您将数据插入phpBB时,users表非常简单。每个条目都包含用户的基本信息,如果您有用户个人资料的自定义字段,则会进入profile_fieldsprofile_fields_data表。

一个棘手的问题是phpBB如何加密用户密码。我认为你必须使用phpBB的函数phpbb_hash($password)来做到这一点。它在文件中声明 phpbb/includes/functions.php

有关phpBB登录代码,请参阅文件phpbb/includes/functions.php中的funciton login_box

答案 3 :(得分:2)

您可以使用以下内容登录phpBB:

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

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

  echo "You're logged in";

} else {

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

}