我在CodeIgniter 2.1.3中使用保存到数据库和TankAuth的会话。 整体设置是TankAuth检查用户是否通过
登录$this->tank_auth->is_logged_in()
这指的是libraries / Tank_auth.php
function is_logged_in($activated = TRUE)
{
return $this->ci->session->userdata('status') === ($activated ? STATUS_ACTIVATED : STATUS_NOT_ACTIVATED);
}
需要初始化会话类 - 然后在数据库中创建一个新会话。
所以我想知道是否有办法绕过这个,因为我的数据库正在为未登录的用户填充空会话。
关于如何解决这个问题的任何想法/建议?
答案 0 :(得分:0)
你可以做两件事来删除非主动会话: -
每次用户注销时,从数据库中删除其行并调用会话销毁功能,如
$ this-> CI-> DB_Master-> where('session_id',$ session ['session_id']); $这 - > CI-> DB_Master->删除($这 - > session_table); $这 - > sess_destroy();
运行cron作业,根据您的数据库数据在每个特定时间间隔后运行,删除与非活动用户对应的行。