如何清除同一用户登录joomla前端和后端的数据库会话?

时间:2016-05-27 09:19:34

标签: php mysql session joomla

我有一个用户登录管理面板(后端)和joomla网站的前端。我检查了数据库中的会话表,发现已为该用户创建了一个会话。我刚刚从DB中删除了该行,当我转到管理面板(后端)时,用户已注销,这是正确的。 但是当我转到网站的前端时,用户没有注销。所以我的问题是“是否为同一用户的前端和后端维护了单独的会话?”如果是这样那么为什么我没有在DB的会话表中找到2个会话行?前端会话是否存储在单独的表中?

还有一种方法,当我点击退出按钮时,我从网站的后端和前端退出了吗?

2 个答案:

答案 0 :(得分:0)

我认为这是因为从#__session表中删除行并不能完全清除会话。手动注销时,会调用Session类并销毁会话,例如:

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

执行此操作还会将会话状态设置为destroyed

$this->_state = 'destroyed';

因此,您需要使用PHP而不是从数据库中删除表

答案 1 :(得分:0)

前端和后端是两个独立且独立的应用程序。因此,您可以登录其中一个或两个并具有单独的会话。也可以共享会话,但这需要一些工作。对我来说奇怪的是你只在表格中看到过一个会话。你是积极的吗?你检查了客户价值吗?