16

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

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

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

我能找到的所有教程和论坛帖子都暗示以 phpBB 为主要内容。我找不到任何可以反过来做的事情。

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

现在,如果我可以同步两个用户表,那么集成两个站点的最佳方法是什么,将我的站点的登录和用户表保持为“主要”表?
另外,在 phpBB 的用户表中创建记录时,有什么特别要记住的吗?还是比较容易弄清楚?如果有多个表,我应该写哪些表?

4

4 回答 4

11

这是一个老问题,所以我相信您现在已经解决了一些问题,但是如果您将来需要重构一些东西,这完全可以使用 phpBB3 中的身份验证插件:

http://wiki.phpbb.com/Authentication_plugins

我现在正在研究一个 phpBB 是“辅助”系统,并且进展顺利。

于 2010-02-01T17:13:34.733 回答
7

我今天刚刚完成了这项任务,经过一些调查实施了一个身份验证插件这是一个很好的例子让 phpBB 接受 Django 会话

于 2009-04-17T15:44:55.370 回答
6

我之前已经将 phpBB 与一个站点集成,但是如您所说,我使用 phpBB 的登录系统/用户表作为主要表。由于 phpBB 是一个相当先进的论坛软件,完全改变它的用户和登录系统将是一个相当耗时的项目。

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

如果您绝对必须使用自己的登录名和 phpBB,那么我同意您的观点,最简单的方法是保持表同步,并在有人登录时调用两个登录脚本。

当您将数据插入 phpBB 时,用户表非常简单。每个条目都有用户的基本信息,如果您有用户配置文件的自定义字段,它们会进入profile_fieldsprofile_fields_data表。

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

phpBB登录代码见文件中的功能login_boxphpbb/includes/functions.php

于 2008-11-11T21:23:22.847 回答
2

您可以使用以下方式登录phpBB:

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

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

  echo "You're logged in";

} else {

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

}
于 2009-01-08T08:44:15.217 回答