Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将Mediawiki连接到自定义用户数据库?_Php_Mysql_Authentication_Mediawiki_Single Sign On - Fatal编程技术网

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

Php 如何将Mediawiki连接到自定义用户数据库?,php,mysql,authentication,mediawiki,single-sign-on,Php,Mysql,Authentication,Mediawiki,Single Sign On,很抱歉,这个标题,我找不到合适的词。 让我解释一下我想做什么: 我有一个网站和一个维基(最新的Mediawiki)。 Wiki已关闭,因此您需要一个帐户在Wiki中读/写。 但是当一个用户登录到我的站点时,当他来到那里时,他将自动登录到wiki 我第一次查看mysql mediawiki用户表让我不知所措:所有内容都保存为二进制数据, 但在我的用户数据库中,它是纯文本的,当然除了密码 我不知道如何继续?你基本上想要两样东西: 您网站上的一个单一帐户数据库也是从mediawiki使用的 用户登录

很抱歉,这个标题,我找不到合适的词。 让我解释一下我想做什么:

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

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


我不知道如何继续?

你基本上想要两样东西:

  • 您网站上的一个单一帐户数据库也是从mediawiki使用的
  • 用户登录到您的网站时自动登录mediawiki
中央用户数据库 Mediawiki有多个扩展,用于将用户管理连接到不同的数据库,例如:

您应该看看ExtAuthDB,因为它应该是可配置的

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

在您的网站上,为
.example.org
设置cookie(注意cookie域中的前导点),这样它也可用于
wiki.example.org

cookie内容可以是一个成熟的mediawiki cookie(您需要在网站上创建),也可以是一个包含相关用户信息的cookie,该用户信息由自己的wiki扩展读取并登录。
我建议您看看是如何实现的,并对您的站点执行相同的操作。

您可以在站点登录例程和注销例程中调用MediaWiki,但前提是您的站点和wiki上使用的用户名和密码相同。

您可能希望在中分享您的经验,以便将来更轻松地完成这项工作。