PHP中的登录集成
在我的主机中,我目前安装了两个wordpress应用程序、一个phpBB论坛和一个MediaWiki 是否有方法合并登录,以便所有应用程序共享相同的凭据 例如,我只想在phpBB中注册,然后我想使用给定的用户名和密码访问所有其他应用程序PHP中的登录集成,php,authentication,integration,mediawiki-extensions,Php,Authentication,Integration,Mediawiki Extensions,在我的主机中,我目前安装了两个wordpress应用程序、一个phpBB论坛和一个MediaWiki 是否有方法合并登录,以便所有应用程序共享相同的凭据 例如,我只想在phpBB中注册,然后我想使用给定的用户名和密码访问所有其他应用程序 即使您不知道统一的方式,您还知道什么样的登录集成?每种方法的优缺点?我不知道如何共享会话cookie,但您可以轻松共享相同的登录名。 i、 人们需要分别登录这两个站点,但可以使用相同的用户名和密码 在mediawiki文件“LocalSettings.PHP”中
即使您不知道统一的方式,您还知道什么样的登录集成?每种方法的优缺点?我不知道如何共享会话cookie,但您可以轻松共享相同的登录名。 i、 人们需要分别登录这两个站点,但可以使用相同的用户名和密码 在mediawiki文件“LocalSettings.PHP”中,您可以告诉它使用不同的(wordpress)数据库进行身份验证: e、 g
请看几年前我尝试过这样做,我记得这并不容易 我这样做的方式是创建一个全新的表给user/pass,然后用新表的外键替换相应软件中的这些列-这需要对每个应用程序中的核心文件进行大量自定义调整-主要是确保对这些数据的所有SQL请求都有新表所需的额外连接。如果我有时间,我可能会尝试一步一步地提供所需的更改 不过,这种方法有一些相当大的缺点。主要的一个是从现在开始你必须手动更新任何补丁 如果您还没有内容或用户,请查看哪些内容或用户将使您的工作更简单 我不太记得了,但我相信我遇到的最大问题是MediaWiki要求用户名的格式与phpBB冲突
当然,一种完全不同的方法是对每一个软件进行修改,以使用OpenID。我相信插件/扩展可用于您提到的所有应用程序。我曾经从phpBB端进行了phpBB/MediaWiki登录集成
.如果你正在集成一系列不同的应用程序,而你真的只是想要一个桥接器,那么我已经成功地使用了来自的桥接器。您可以在此处看到受支持的应用程序: 我还为phpBB集成使用了MediaWiki扩展:
我个人认为,在使用多个预构建的应用程序时,集成登录系统即使不是最难的工作,也是最难的工作之一。作为重用和模块化的粉丝,我觉得这令人失望。如果有人知道在random app X和random app Y之间处理此问题的简单方法,我很想知道。当您集成系统时。记住两件事:
检查两个系统的用户名/密码
在两个系统上更新密码
您可以为mediaWiki编写自定义登录挂钩。我已经为LibraryThing完成了这项工作,这样我们的主站点的登录凭据就可以转移到我们的mediaWiki安装中。身份验证钩子扩展了mediaWiki的AuthPlugin 有几个小问题:
一个选项是OpenID,您可以将其集成到和中 第二个选项是设置LDAP服务器,您还可以将其集成到和中 如果所有站点都在同一根域上,第三个选项是修改注册、登录和注销代码,以便在每个站点上同时复制这些操作。这会让事情变得一团糟,但如果你赶时间的话,这可能是最简单的短期解决方案。一旦您在每个站点中跟踪到帐户代码,只需复制、粘贴和更改一些cookie参数即可
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');