2012-12-03 39 views
1

我在CodeIgniter 2.1.3中使用保存到数据库和TankAuth的会话。 整体设置是TankAuth检查是否用户经由如何防止CodeIgniter为每次访问创建会话?

$this->tank_auth->is_logged_in() 

这是指库登录/ Tank_auth.php

function is_logged_in($activated = TRUE) 
{ 
    return $this->ci->session->userdata('status') === ($activated ? STATUS_ACTIVATED : STATUS_NOT_ACTIVATED); 
} 

这就要求该会话类初始化 - 这然后将在数据库中创建一个新的会话。

所以我想知道是否有办法绕过这个,因为我的数据库正在充满未登录用户的空会话。

关于如何解决这个问题的任何想法/建议?

回答

0

有2个东西,你可以除去非活动会话做到: -

    每次只要用户将被注销时间
  1. ,从数据库中删除其行,然后调用会话破坏之类的函数

    $ this-> CI-> DB_Master-> where('session_id',$ session ['session_id']); $ this-> CI-> DB_Master-> delete($ this-> session_table); $ this-> sess_destroy();

  2. 运行cron作业,根据您的DB数据在每个特定时间间隔后运行,删除与非活动用户对应的行。