2013-03-02 68 views

回答

0

由于从其他位置登录会在该新位置创建新的会话ID,因此您无法使用会话ID进行此操作。

将用户标识存储到会话中,然后在登录时进行检查。

$this->db->where('userId',$userId); 
$result = $this->db->get('ci_session'); 
if($result->num_rows() > 0) 
{ 
    //log out old user, throw error, whatever 
} else { 
    //continue with login 
} 
+0

我做了每个用户登录的会话ID并交叉检查用户的会话ID并强制/销毁它 – logudotcom 2013-03-11 14:04:47

+0

sessionId不是特定于特定用户并且它是独一无二的,不完全确定你做了什么,但很高兴你将它分类。 – 2013-03-12 12:14:42

+0

我正在为每个用户生成会话ID并在登录时进行检查 – logudotcom 2013-03-12 12:28:18

0

通过存储会话数据的用户ID和添加它作为会话表中的列,你在创建会话数据之前可以去除登录该用户ID的所有会话。这将使同一用户的任何会话无效。如何做到这一点的进一步解释,请看这里:https://stackoverflow.com/a/9564433/89211