在我的主机上,我目前安装了2个WordPress应用程序、1个phpBB论坛和一个MediaWiki。
有没有一种方法可以合并登录,使所有应用程序共享相同的凭据?
例如,我想只在我的phpBB中注册,然后使用给定的用户名和密码访问所有其他应用程序。
即使您不知道统一的方法,您还知道哪些其他登录集成?每种方法的优缺点是什么?
在我的主机上,我目前安装了2个WordPress应用程序、1个phpBB论坛和一个MediaWiki。
有没有一种方法可以合并登录,使所有应用程序共享相同的凭据?
例如,我想只在我的phpBB中注册,然后使用给定的用户名和密码访问所有其他应用程序。
即使您不知道统一的方法,您还知道哪些其他登录集成?每种方法的优缺点是什么?
当你集成系统时,只需记住两件事:
登录系统
在两个系统中检查用户名/密码。
更改密码
在两个系统中更新密码。
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');
如果你正在集成多个应用程序,而你只想要一个桥梁,我曾经使用过Single-Signon.com提供的桥梁,并且取得了良好的效果。你可以在这里查看支持的应用程序: http://www.single-signon.com/en/applications.html
我还使用了一个MediaWiki扩展来实现phpBB集成: http://www.mediawiki.org/wiki/Extension:PHPBB/Users_Integration
您可以为mediaWiki编写自定义登录挂钩。我已经为LibraryThing完成了这项工作,以便将我们主站点的登录凭据传递到我们的mediaWiki安装中。认证挂钩扩展了mediaWiki的AuthPlugin。
有几个小问题:
但是,如果您能够处理这些问题,那么肯定可以使用自己的用户/密码数据与mediaWiki一起使用。
优点:
我记得几年前尝试过这样做,但并不容易。
我的方法是创建一个全新的用户/密码表,并将这些列替换为外键到您的新表 - 这需要在每个应用程序的核心文件中进行大量自定义调整 - 主要是确保所有对此数据的SQL请求都具有所需的额外连接。如果我有时间,也许会尝试提供一步一步所需更改的说明。
然而,这种方法存在一些相当大的缺点。主要问题是从现在开始,您必须手动更新任何补丁。
如果您还没有内容或用户,请查看http://bbpress.org/documentation/integration-with-wordpress/,这将使事情变得简单得多。
我记不清了,但我认为我遇到的一个大问题是MediaWiki需要按特定格式格式化用户名,这与phpBB冲突。
当然,完全不同的方法是修改每个软件以使用OpenID——我相信所有你提到的应用程序都有可用的插件/扩展。
我个人认为,在使用多个预构建应用程序时,整合登录系统是最难的工作之一。作为重复使用和模块化的粉丝,我觉得这很令人失望。如果有人知道如何在随机应用程序X和随机应用程序Y之间处理此问题的简单方法,我会很乐意知道。