2008-09-02 58 views
3

在我的主机上,我目前安装了2个wordpress应用程序,1个phpBB论坛和一个MediaWiki。用PHP登录集成

是否有合并登录的方法,以便所有应用程序共享相同的凭据?

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

即使您不知道统一的方式,您知道还有哪些其他登录集成?每个的优缺点?

回答

3

我不知道如何共享会话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

0

尝试过一些年前做到这一点我记得不是很容易。

我做的是创造全新的表的用户名/密码,然后在与外键到新表中的相应的软件替换这些列的方式 - 这需要核心文件的定制扭捏很多在每应用程序 - 主要确保对此数据的所有SQL请求都有新表所需的额外连接。如果我找到时间,我可能会尝试并逐步提供所需的更改。

虽然这个方法有一些相当大的缺点。主要是从现在开始,你将不得不手动更新任何补丁

如果你没有内容或用户,但看看http://bbpress.org/documentation/integration-with-wordpress/这会让事情变得更简单。

我不太记得,但我相信我遇到的最大问题是MediaWiki要求用户名格式与phpBB冲突。


当然,一个完全不同的方法将是国防部每个软件使用的OpenID _我相信插件/扩展都一应俱全你提到的所有应用程序。

1

我曾经在phpBB结束时做过phpBB/MediaWiki登录集成。

Check it out

0

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

4

当你整合系统。只要记住两两件事:

  1. 登录到系统,这两个系统
    检查用户名/密码。

  2. 更改密码
    更新两个系统上的密码。

0

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

有几个小问题:

  1. MEDIAWIKI用户名必须用首字母大写的(所以如果你允许区分大小写的用户名也可能是一个问题,如果两个用户碰撞维基名)
  2. 强调了启动用户名被转换为空格in mediaWiki

但是,如果你可以处理这些,那么肯定可以在mediaWiki中使用你自己的用户/密码数据。

优点:

  1. 用户不必单独登录到各区域。一旦他们登录到主站点,他们也登录到wiki。
  2. 你知道用户名是跨系统相同,可以利用在链接等
2

一种选择是的OpenID,你可以融入phpBBWordPress,和MediaWiki

第二个选择是建立一个LDAP服务器,它也可以融入phpBBWordPressMediaWiki

如果这些站点都在同一个根域中,第三个选项是修改注册,登录和注销代码,以便这些操作可以同时在每个站点上复制。这会变得混乱,但如果你很匆忙,它可能是最简单的短期解决方案。一旦您追踪每个网站的帐户代码,只需复制并粘贴并更改一些Cookie参数即可。