如何将Mediawiki连接到自定义用户数据库?

时间:2011-06-29 19:57:52

标签: php mysql authentication mediawiki single-sign-on

对不起标题,我找不到合适的词语。 让我解释一下我想做的事情:

我有一个网站和一个Wiki(最新的Mediawiki)。 Wiki已关闭,因此您需要一个帐户才能在Wiki中读/写。 但是当用户登录我的网站时,他来到维基时会自动登录到维基。

我第一次看到mysql mediawiki用户表让我一无所知:一切都保存为二进制数据, 但在我的用户数据库中,它是纯文本,当然除了密码。

我不知道该怎么办?

2 个答案:

答案 0 :(得分:9)

你基本上想要两件事:

  • 您网站上的一个帐户数据库,也可以从mediawiki中使用。
  • 当用户登录您的网站时在mediawiki中自动登录

中央用户数据库

Mediawiki有几个扩展,将用户管理连接到不同的数据库,例如:

你应该看看ExtAuthDB,因为它应该可以配置给你。

单点登录

单点登录(SSO)主要通过在Web应用程序之间共享cookie来完成。要实现这一点,您需要将wiki放在主页的子域中,即当您的网站位于wiki.example.orgexample.org

在您的网站上,为.example.org设置一个Cookie(请注意Cookie域中的前导点),因此它也适用于wiki.example.org

Cookie内容可能是一个成熟的mediawiki cookie(您需要在您的网站上创建),或者是一个cookie,其中包含维基的自己的扩展读取并记录用户的相关用户信息。 我建议您查看Phpbb_Single_Sign-On是如何实施的,并对您的网站执行相同操作。

答案 1 :(得分:2)

您可以在您的网站登录例程上调用MediaWiki API:Login,在注销例程中调用API:Logout,提供您网站上使用的用户名和密码,wiki也是相同的。