在同一浏览器中使用两个站点时会发出会话

时间:2013-12-04 12:37:17

标签: php codeigniter session

我使用CodeIngniter框架构建了两个简单的Web应用程序,并根据this link添加了登录页面。

一切都很好。但是当我在同一个浏览器上使用这两个应用程序时,它们都被重定向到登录页面。

我根据文章使用以下代码来设置,检查和销毁两个站点中的会话数据,

登录时,

$data = array(
    'userid' => 1,
    'name' => "Admin",
    'username' => "admin",
    'role' => "admin",
    'validated' => true
    );
$this->session->set_userdata($data);

在其他页面中,

private function check_isvalidated(){
    if(! $this->session->userdata('validated')){
        redirect('login');
    }
}

退出时,

public function logout(){
    $this->session->sess_destroy();
    redirect('login');
}

所以我猜我需要在CodeIngniter会话中做些什么,但我无法找到我需要做的事情。

任何帮助都会受到赞赏。

提前致谢。

1 个答案:

答案 0 :(得分:2)

当两个应用程序使用相同的会话标识符时,它将为两个应用程序登录或无人登录。因为cookie是浏览器共享的。你需要做的是强制codeigniter为每个应用程序使用不同的cookiename,然后将会话分开,你可以使用两次登录。