这本质上是重复this question, 但它还没有得到回答。
我正在尝试在使用不同数据库的不同服务器上的两个单独WordPress安装之间创建SSO系统。主站点有一个完整的数据库,包括一个包含300000多个用户的用户表。由于users表的大小,我们不希望在第二个站点上复制每个用户,也不希望在传统的SSO系统中,每个用户登录时都在数据库中创建。理想情况下,我们希望引用主站点上的用户表,并在第二个站点上使用相同的用户。
到目前为止,我已经尝试使用wp\\u remote\\u post()将用户对象发送到第二个站点,同时覆盖可插入站点。php函数并使用发布的用户对象设置$current\\u user global。然而,这并不像我所希望的那样有效,因为WP\\u用户对象中通常可用的方法在发布的对象中不可用,这会导致在使用$User->exists()等方法时出现致命错误。
我知道CUSTOM\\u USER\\u TABLE解决方案,但在本例中,这显然不起作用,因为站点位于具有单独数据库的单独服务器上。
TL;DR: 需要SSO。单独的服务器。帮助
最合适的回答,由SO网友:Hugh Lashbrooke 整理而成
在大量搜索和询问比我更了解的人之后,我得出结论,这是不可能的,主要是因为它需要两个并发的DB连接。
最后,我的SSO解决方案是构建一个更传统的SSO系统,使用主站点的用户数据在远程站点创建用户。它还会在每次登录时更新它们,以确保配置文件始终保持最新。