2012-12-03 35 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數據在每個特定時間間隔後運行,刪除與非活動用戶對應的行。