0

我发现 Code Igniter 已经有 ci_sessions 表,其中存储了用户会话 ID。我了解该表的主要目的。只是我想澄清一下如何使用当前用户登录会话 ID 验证 ci_session 表数据?

基本上,我正在尝试一次用户登录一个地方。防止多次登录。我怎样才能做到这一点?

4

2 回答 2

1

您无法使用会话 ID 执行此操作,因为从另一个位置登录会在该新位置创建一个新的会话 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
}
于 2013-03-02T12:40:40.167 回答
0

通过将用户 ID 存储在会话数据中并将其作为列添加到会话表中,您可以在创建会话数据之前在登录时删除该用户 ID 的所有会话。这将使同一用户的任何会话无效。有关如何执行此操作的进一步说明,请参见此处:https ://stackoverflow.com/a/9564433/89211

于 2013-06-06T14:51:11.457 回答