如何在codeigniter中同步数据库和会话


How to sync the database and the session in codeigniter?

我遇到了一个问题,当用户被记录时,我给用户分配了他们的id,例如126。但是,当我维护或删除一些被禁止的用户时,例如,用户id 126将从数据库中删除,但是用户126在他的会话中仍然有数字126。当我检测到我的数据库有用户id被删除时,我如何"删除"他的会话内容?谢谢你!

听起来你很担心ID 126被屏蔽,即使它被分配给一个新用户。

应该不是问题,因为在这些情况下(通常)id是以自动递增的方式创建的,并且DB (MySQL当然,大多数其他可能也是)选择下一个更高的值,以在这种自动递增字段中生成的最高值。

所以如果最高赋值是1234,那么你可以删除你想要的,下一个值将是1235

所以你的问题对我来说并不是真正的问题。

我可以想到两种解决方案,

1)。将用户凭据存储在数据库中;每次用户进行操作时,您都可以检查凭据,然后将已经被禁止的用户踢出。我不认为这是

2.)缓存登录的用户,缓存应该是全局的,这样被禁止的用户的会话可以被检查