2008-11-11 171 views
16

我需要一些关于修改phpBB方面的新手问题的帮助。如何将用户登录从我的网站集成到phpBB中?

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

现在,使用phpBB的用户表的用户表我的系统(具有人的phpBB,而不是在我的网站上注册)是不可能的不幸(这样可以把更多的工作来重做我们的系统,而不是建立我们自己的基本论坛)。
我假设我可以破解我的方式让phpBB相信某个用户标识已经登录,但是,该用户不会存在于phpBB的用户表中(我假设它会导致它出错几乎很多到处)。

我能找到的所有教程和论坛帖子都暗示以phpBB为主。我无法找到任何其他方式做到这一点。

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

现在,如果我可以让两个用户表同步,那么集成这两个站点的最佳方式是什么,将我的站点的登录名和用户表保留为“主”表?
另外,在phpBB的用户表中创建记录时,有什么特别需要记住的吗?或者是相对直截了当?如果有多个表,我应该写什么表?

回答

11

这是一个老问题,所以我敢肯定y ou've制定出来的东西到现在,但如果你需要重构,未来的事情,这是完全有可能用。中文认证插件:

http://wiki.phpbb.com/Authentication_plugins

我工作的一个现在所在的phpBB是“次要”系统,并且进展顺利。

+0

我跟着你发布的链接,似乎我只是需要创建一个文件包括/ auth/auth_myauth.php并且在文件中有一个方法,比如说login_myauth($ username,$ password)返回一个数组。当我这样做时,我无法在ACP中设置它,有什么建议吗? – 2016-05-12 04:00:02

5

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

当我不得不使用该站点的登录信息作为主站点时,我使用PunBB。修改PunBB更简单。

如果你绝对必须使用自己的登录为主,而phpBB的,然后我在同意你的最简单的方法是保持同步的表,并调用相应的登录脚本当有人在登录。

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

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

对于phpBB的登录代码中声明,请参阅功能可按login_box文件phpbb/includes/functions.php

2

您可以使用以下登录到phpBB的:

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

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

    echo "You're logged in"; 

} else { 

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

} 
+0

假设该网站使用phpBB的用户表。 – Shinhan 2012-07-02 20:26:30