2013-05-12 123 views
-2

需要刪除特定用戶的會話(當他被禁止時)。我知道session_id每5分鐘重新生成一次。我們不在數據庫中存儲會話,可能只是每個用戶的session_id。每次session_id變化或更好的解決方案時,我應該更新數據庫嗎?CodeIgniter通過ID刪除特定會話

編輯:我認爲,soulution可能是將數據存儲在數據庫中,並將my_session_id添加到每個會話中。然後我可以通過這個變量找到需要的會話。請評論這個解決方案,也許有一些沒有在數據庫中存儲會話?

+0

禁用會話重新生成,將會話ID存儲在數據庫中,每次有用戶請求時檢查它。 – ahmad 2013-05-12 15:24:00

+0

儘管這不是最好的解決方案,但每當網頁加載時我都會檢查用戶。這樣,我確信我對數據庫所做的每件事情都會在前端進行實時更改。 – machineaddict 2013-05-13 07:51:40

回答

1

那麼,如果可能的話,我想建議你在用戶表中存儲session_id,否則將session_id與用戶ID映射到一個單獨的表中。

優勢

  1. 當檢查爲有效的會話ID和用戶ID用戶登錄,如果發現有活性的用戶允許他別的重定向到登錄頁面。
  2. 註銷u可以清除或銷燬會話ID。
  3. 創建一個通用函數來驗證用戶和會話ID。
  4. 從助手中調用這個常用函數,不管天氣如何,如果驗證的方法繼續執行操作,則重定向到登錄,則調用任何方法。

注意 - 我曾經歷過這個,因爲我對在線酒店預訂的工作,每當ü命中服務器目前的酒店預訂它用於返回與實時價格,客房等,這是基於存儲的實時數據記錄的用戶會話ID,如果他註銷他的搜索將從數據庫中刪除。