2013-03-02 89 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