在同一数据库上的多个站点之间共享用户,但使用不同的域

时间:2011-05-25 作者:jasonmcclurg

我正在尝试在Wordpress和非WP站点之间的不同域下实现一个单一登录解决方案。我的目标是在非WP站点域上安装ghost WP,以便能够在后台加载WP,并促进跨域cookie共享和身份验证

基本上,我已经安装了一个新的可湿性粉剂安装,使用我原来的可湿性粉剂网站的数据库,我想分享用户。

2 个回复
SO网友:Dave Konopka

您无法实现跨域cookie共享。浏览器不允许使用domaina。com访问为域B设置的Cookie。com,反之亦然。子域可以共享父域的Cookie集。所以domaina。mydomain。com和域B。mydomain。com可以访问为设置的Cookie。mydomain。com公司

SO网友:Dave Konopka

假设您可以在同一个域上获取站点,或者找到一种方法来传递某种身份验证令牌。您不一定需要在第二个站点上安装ghost WordPress。

我现在在一个WordPress网站上工作,它补充了现有的非WordPress网站。该项目的一个要求是通过非WordPress站点处理身份验证。我为WP端创建了一个绕过典型WordPress身份验证的插件。

该插件有一个附加到WP init操作的函数,当访问者没有登录到WP站点并且存在外部身份验证cookie时,获取令牌并调用我的非WP站点上的服务来验证令牌。如果令牌验证,我将强制验证服务返回给我的用户名登录。从那时起,用户就登录到WordPress站点,并且不会对外部站点执行进一步的验证。如果WP中给定用户名的用户尚不存在,插件将创建该用户。

还有一些其他代码可以重定向到外部站点登录页面,而不是标准的WP登录。

结束

相关推荐

Wp_USERS和wp_USERMETA表有什么不同?

两者之间的区别是什么wp_users 和wp_usermeta 桌子?我使用Email Login plugin 我刚刚注意到,如果用户在个人资料页面中更改了他的电子邮件,它会保存在wp_usermeta 而不是在桌子上wp_users 桌子这是一个问题,因为用户必须使用第一封电子邮件才能成功登录,如果使用新的(更改的)电子邮件,则无法访问。有人能解释一下为什么以及如何将用户电子邮件保存在wp_users 桌子