繁体   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