在不使用WordPress MU的情况下跨多个域和安装同步WordPress用户帐户

时间:2010-11-11 作者:Ashley G

正如标题所示,如果您必须在多个域和安装之间同步WordPress用户帐户,而不使用WordPress MU,您会怎么做?

4 个回复
最合适的回答,由SO网友:edelwater 整理而成

(旁注)在wp config中,您可以设置:

define(\'CUSTOM\\u USER\\u TABLE\',$TABLE\\u prefix.my\\u users\');define(\'CUSTOM\\u USER\\u META\\u TABLE\',$TABLE\\u prefix.my\\u usermeta\');

因此,我希望这对集中用户数据库的情况尤其有效。。。但事实并非如此:http://core.trac.wordpress.org/ticket/13323

(以及从中获取信息的远程数据库的用户名/密码)

我认为这是最好的方法:使用user表和user meta表实现1db。

Nacin在这里写道,这里有多个插件可以更有力地提供此功能,所以我假设有用于此的插件。(我还没有找到)。

我发现:http://wordpress.org/extend/plugins/wpldap/ 但这需要不同的域(“ldap”域)同步/具有信任关系。但正如我所读到的,肯定还有其他的插件。

为什么我不能如上所述同步并使用中央数据库:

棘手的是,同一个用户可能在安装1和安装2中更改了密码,或者在安装1中添加了一个与安装2中的另一个用户同名的用户,或者用户在安装1中有另一个与安装2中相同的电子邮件,等等编写您自己的同步,例如使用dbsync并在其周围编写一些代码来检查所有同步情况是很困难的,因为所有的用例都存在。许多公司都有这方面的产品,例如与许多其他联系人数据库连接的企业CRM系统,这些系统需要清理和验证用户数据,但没有一个是完美的。

也许您还可以添加其他要求,如“仅在站点1上注册/更新”,然后使用站点1进行所有进一步的同步。然后再一次。。。添加特定用户元数据的插件。。。例如,安装5不会将其更改同步到安装3。因此,您还需要与安装1和所有其他安装以及。。。如果有差异。。。看看是否可以尽可能多地覆盖它们。然后将异常视为手动操作。

SO网友:Raphael

您可以使用OpenID进行用户身份验证,例如插件提供的身份验证OpenID. 这在整个web上都是不变的,尤其是对于您的n Wordpress安装。

当然,Wordpress指定的用户设置不会同步。

SO网友:Horttcore

它们是否在同一个Web服务器/mysqlserver上?

如果它们共享同一个mysqlserver,则可以挂接注册并将用户添加到多个数据库中。

或者,您可以通过$\\u POST/$\\u GET创建一个包含用户的文件,确保它受到令牌或其他东西的保护。

这就是我想做的。

SO网友:RafaSashi

现在有一个插件可用于此目的。

User Session Synchronizer 允许您keep the user logged in from one wordpress to another 通过同步用户数据和cookie session 基于已验证的电子邮件。

这个user email is encrypted 基于当前用户ip和同步wordpress安装共享的密钥。

Plugin

https://wordpress.org/plugins/user-session-synchronizer/

Repo

https://github.com/rafasashi/user-session-synchronizer

Resources

http://subinsb.com/set-same-cookie-on-different-domains

结束

相关推荐

Login form in popup

我将WP3与defaul主题一起使用。我希望人们在提交评论之前注册。我想做的是建立一个链接,而不是像“留下评论”这样的评论表单。单击此链接将打开一个弹出窗口,其中包含登录/注册表单或评论表单(如果用户已登录)。这可能吗?谢谢