CodeIgniter登录到多个域

时间:2014-01-29 16:15:06

标签: php codeigniter session cookies login

我有一个CI网站(http://www.abc.com)。现在我们正在设置另一个域,指向不同语言的相同代码(http://www.abc.com.cn)。

当登录.com后切换到另一个站点时,我没有登录.com.cn。

在登录控制器中,我检查网址并卷曲到另一个域来设置会话。但看起来它不起作用。

请帮忙。

2 个答案:

答案 0 :(得分:1)

这不是一个codeigniter问题。这是一个常见的Web应用程序问题。您正在寻找的解决方案是federated authentication。也就是说,第三方负责登录和凭证验证部分。

例如,StackExchange网络使用OpenId来允许您登录其多个域和子域。

如果您不想创建和维护身份服务器,一种解决方法是在两个站点上实施其中一个可用的FA系统(例如Open ID或Facebook Connect),但是可以看到{{3} }。

答案 1 :(得分:0)

如果您正在使用会话,请使用cookie。

然后在您的登录代码中。您必须手动循环遍历所有站点URL以设置登录的cookie域。

foreach ($domains as $domain) {
    $this->input->set_cookie(array('name' => 'name', 'value' => 'logged-in', 'expire' => 86500, 'domain' => $domain));
}