题
在修改phpBB方面,我需要一些可能是新手问题的帮助。
我有一个用PHP开发的整个系统,我想集成phpBB,以便人们可以导航到论坛并无缝发布,而无需再次登录。
现在,使用phpBB用户表作为我的系统的用户表(并让人们在phpBB而不是在我的网站中注册)是不可能的(重做我们的系统需要做更多的工作而不是构建我们自己的系统基本论坛) 我假设我可以破解我的方式让phpBB相信某个用户ID已经登录,但是,该用户将不会存在于phpBB的用户表中(我假设它会导致它几乎无处不在)
我能找到的所有教程和论坛帖子都暗示以phpBB为主要内容。我没有找到任何相反的方法。
我猜测解决这个问题的唯一可行方法是让两个表相对同步。
现在,只要我可以让两个用户表同步,集成两个站点的最佳方式是什么,将我的站点的登录和用户表保持为“主要”表。的呢?结果 另外,在phpBB的用户表中创建记录时,有什么特别要注意的吗?或者弄清楚它是否相对简单?如果有多个表格,我应该写什么表?
解决方案
这是一个老问题,所以我确定你现在已经解决了一些问题,但如果你将来需要重构一些东西,这完全可以通过phpBB3中的身份验证插件实现:
http://wiki.phpbb.com/Authentication_plugins
我现在正在开发一个phpBB是“二级”的地方。系统,它进展顺利。
其他提示
我刚刚完成了这项任务,经过一些调查后实施了身份验证插件这是一个很好的例子让phpBB接受Django会话
之前我已将phpBB与网站集成,但是我使用phpBB的登录系统/用户表作为主要表格。由于phpBB是一个非常先进的论坛软件,完全改变其用户和登录系统将是一个非常耗时的项目。
当我不得不使用网站的登录作为主要登录时,我使用了 PunBB 。修改PunBB简单得多。
如果你必须使用你自己的登录作为主要和phpBB,那么我同意你的看法,最简单的方法是保持表同步,并在有人登录时调用两个登录脚本。
当您将数据插入phpBB时,users表非常简单。每个条目都有用户的基本信息,如果您有用户配置文件的自定义字段,则会进入 profile_fields
和 profile_fields_data
表。
一个棘手的问题是phpBB如何加密用户密码。我认为你必须使用phpBB的函数叫做 phpbb_hash($ password)
来做到这一点。它在文件中声明
<代码>的phpbb /包括/ functions.php中代码>
有关phpBB登录代码,请参阅文件中的funciton login_box phpbb / includes / functions.php
您可以使用以下内容登录phpBB:
$result=$auth->login($username, $password);
if ($result['status'] == LOGIN_SUCCESS) {
echo "You're logged in";
} else {
echo $user->lang[$result['error_msg']];
}