1

我已经为相同和不同服务器上的子域实现了单点登录 (SSO)。

使用以下技术:

session_name('example');
session_set_cookie_params(0, '/', '.example.com');
session_start();

d1.example.com on SERVER1
d2.example.com on SERVER1
d3.example.com on SERVER2

这成功地起作用了。

要在 SERVER2 上为子域 d3.example.com 创建会话,我使用 curl 来调用该服务器上的页面

但是现在我向 SERVER2 添加了另一个域 www.differ.com,所有数据、用户、服务、代码都从 example.com 共享,但它不是子域。

我为这个新域(www.different.com)尝试了相同的 cURL 登录技术,但未能登录到 www.different.com。尽管用户在所有其他网站上都显示为已登录。

因为 www.different.com 不是 example.com 的子域,所以 cookie(ie session_set_cookie_params(0, '/', '.example.com'); ) 不是为本站编写的。

我想知道是否有任何需要最少更改的解决方案,因为有 18 个子域在上述场景中工作。而改变所有这些是非常乏味的。

4

0 回答 0