PHP中的登录集成

4

在我的主机上,我目前安装了2个WordPress应用程序、1个phpBB论坛和一个MediaWiki。

有没有一种方法可以合并登录,使所有应用程序共享相同的凭据?

例如,我想只在我的phpBB中注册,然后使用给定的用户名和密码访问所有其他应用程序。

即使您不知道统一的方法,您还知道哪些其他登录集成?每种方法的优缺点是什么?

8个回答

5

当你集成系统时,只需记住两件事:

  1. 登录系统
    在两个系统中检查用户名/密码。

  2. 更改密码
    在两个系统中更新密码。


4
我不知道如何共享会话cookie,但您可以轻松共享相同的登录信息。 即人们需要分别登录两个站点,但可以使用相同的用户名和密码。
在mediawiki文件“LocalSettings.PHP”中,您可以告诉它使用不同的(wordpress)数据库进行身份验证:
例如:
require_once('includes/AuthPlugin.php');
require_once('extensions/AuthPress.php');

$wgAuth = new AuthPress();
$wgAuth->setAuthPressTablePrefix('evo_');
# Only include the following if you aren't using the same db as  MediaWiki
$wgAuth->setAuthPressDBServer ('localhost');
$wgAuth->setAuthPressDBName('yourWordPressDB');
$wgAuth->setAuthPressUser('mySQL user for same');
$wgAuth->setAuthPressPassword('The password');

请查看http://bbpress.org/forums/topic/mediawiki-bbpress-and-wordpress-integration

2
一种选择是使用OpenID,你可以将其集成到phpBBWordPressMediaWiki中。
第二个选择是设置LDAP服务器,你也可以将其集成到phpBBWordPressMediaWiki中。
如果所有站点都位于同一根域下,则第三个选项是修改注册、登录和退出代码,使这些操作在所有站点上同时复制。这会变得混乱,但如果你急需解决问题,这可能是最简单的短期解决方案。一旦你在每个站点中跟踪到账户代码,只需复制粘贴并更改一些cookie参数即可。

1

我曾经从phpBB端完成了phpBB/MediaWiki登录集成。

点击查看


1

0

您可以为mediaWiki编写自定义登录挂钩。我已经为LibraryThing完成了这项工作,以便将我们主站点的登录凭据传递到我们的mediaWiki安装中。认证挂钩扩展了mediaWiki的AuthPlugin。

有几个小问题:

  1. mediaWiki用户名必须以大写字母开头(因此,如果允许区分大小写的用户名,则可能会出现问题,如果两个用户具有冲突的wiki名称)
  2. 用户名中的下划线在mediaWiki中转换为空格

但是,如果您能够处理这些问题,那么肯定可以使用自己的用户/密码数据与mediaWiki一起使用。

优点:

  1. 用户不必单独登录每个区域。一旦他们登录到主站点,他们也登录到wiki中。
  2. 您知道用户名在系统中是相同的,并且可以在链接等方面利用它。

0

我记得几年前尝试过这样做,但并不容易。

我的方法是创建一个全新的用户/密码表,并将这些列替换为外键到您的新表 - 这需要在每个应用程序的核心文件中进行大量自定义调整 - 主要是确保所有对此数据的SQL请求都具有所需的额外连接。如果我有时间,也许会尝试提供一步一步所需更改的说明。

然而,这种方法存在一些相当大的缺点。主要问题是从现在开始,您必须手动更新任何补丁。

如果您还没有内容或用户,请查看http://bbpress.org/documentation/integration-with-wordpress/,这将使事情变得简单得多。

我记不清了,但我认为我遇到的一个大问题是MediaWiki需要按特定格式格式化用户名,这与phpBB冲突。


当然,完全不同的方法是修改每个软件以使用OpenID——我相信所有你提到的应用程序都有可用的插件/扩展。


0

我个人认为,在使用多个预构建应用程序时,整合登录系统是最难的工作之一。作为重复使用和模块化的粉丝,我觉得这很令人失望。如果有人知道如何在随机应用程序X和随机应用程序Y之间处理此问题的简单方法,我会很乐意知道。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接