簡體   English   中英

如何清除登錄到joomla前端和后端的同一用戶的數據庫會話?

[英]How to clear session from database for same user logged into frontend and backend of joomla?

我有一個用戶登錄了joomla網站的管理面板(后端)和前端。 我檢查了數據庫中的會話表,發現已為該用戶創建了會話。 我剛剛從數據庫中刪除了該行,當我轉到管理面板(后端)時,用戶已注銷,這是正確的。 但是當我轉到站點的前端時,該用戶沒有注銷。 所以我的問題是“是否為同一用戶的前端和后端維護了單獨的會話?” 如果是這樣,那為什么我在數據庫的會話表中找不到2個會話行呢? 前端會話是否存儲在單獨的表中?

還有一種方法,當我單擊注銷按鈕時,我同時從網站的后端和前端注銷了嗎?

我認為這是由於以下事實:從#__session表中刪除該行並沒有完全清除該會話。 手動注銷時,將調用Session類,並且會話將被破壞,例如:

$session = JFactory::getSession();
$session->destroy();

這樣做還將會話狀態設置為destroyed

$this->_state = 'destroyed';

因此,您需要為此使用PHP,而不是從數據庫中刪除表

前端和后端是兩個獨立的應用程序。 因此,您可以登錄到這兩者之一,也可以分別登錄。 也可以共享一個會話,但這需要一些工作。 對我來說奇怪的是,您在表中只看到一個會話。 你積極嗎? 您檢查客戶價值了嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM