强制特定用户在codeigniter中注销并销毁其会话


force a specific user to logout in codeigniter with destroying his session

当我使用codeigniter中的会话将用户的状态更改为"非活动"时,我想强制用户注销。

我使用了下面的方法,但它破坏了我自己的会话:

function deactivate($user_Id)
{
    $this->session->unset_userdata(array('user_Id' => $user_Id));
}

我碰巧需要实现这个功能,下面是我的做法:

  1. 登录后在数据库中将用户会话id记录为last_active_session
  2. 找到该会话id,并在该用户被禁止或其他情况下将其从会话表中删除

您还可以使用此功能来防止并发登录,例如上次成功登录的用户与前一个用户碰撞。

使用sess_destroy()方法:

function deactivate() {
    $this->session->sess_destroy();
}