我有一个CI网站(http://www.abc.com)。现在我们正在设置另一个域,指向不同语言的相同代码(http://www.abc.com.cn)。
当登录.com后切换到另一个站点时,我没有登录.com.cn。
在登录控制器中,我检查网址并卷曲到另一个域来设置会话。但看起来它不起作用。
请帮忙。
答案 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));
}