当我使用codeigniter中的会话将用户的状态更改为"非活动"时,我想强制用户注销。
我使用了下面的方法,但它破坏了我自己的会话:
function deactivate($user_Id)
{
$this->session->unset_userdata(array('user_Id' => $user_Id));
}
我碰巧需要实现这个功能,下面是我的做法:
- 登录后在数据库中将用户会话id记录为last_active_session
- 找到该会话id,并在该用户被禁止或其他情况下将其从会话表中删除
您还可以使用此功能来防止并发登录,例如上次成功登录的用户与前一个用户碰撞。
使用sess_destroy()
方法:
function deactivate() {
$this->session->sess_destroy();
}