这是可能的。处理登录和Cookie的许多核心API是pluggable.
您可以替换wp_set_current_user
例如,使用查询外部数据库而不是内部数据库的内容。
身份验证已通过authenticate
过滤器(wp_authenticate
是执行此操作的函数,并将过滤器添加到wp_signout
).
简言之,有很多方法可以让你钩住它,做你自己的事,改变东西。但是,您将丢失几乎所有的用户API(否get_users
, 没有用户管理区域等),除了用户功能所在的主站点之外。
An alternative approach 将使所有约5台服务器/WP安装共享相同的外部数据库服务器和数据库。从那里开始,set a custom user table 在每个wp-config.php
, 并且每个单独的安装共享相同的用户数据。您还需要设置不同的$table_prefix
对于每个站点。
由于WordPress存储角色/大写的方式不同,每个站点的功能和角色也会有所不同(它们的前缀是$table_prefix
). 所有核心用户数据,即用户名、电子邮件和密码,将在服务器之间共享。
当然this is just a WP multisite install 没有多站点的便利。
多站点+adomain mapping plugin 可能是你想要的。或者你可以扮演自己的角色sunrise.php 并跳过域映射插件。应该可以将多个应用程序服务器与共享数据库服务器一起运行WP安装。将所有域指向一个将流量发送到其中一个应用程序服务器的负载平衡器,就完成了。