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

发布于 2024-12-02 23:50:09 字数 145 浏览 2 评论 0原文

我遇到了一个问题,当用户登录时,我为用户分配了他们的ID,例如126。但是当我进行维护或删除某些禁止的用户时,例如,用户ID 126将从数据库中删除,但是用户 126 在他的会话中仍然有号码 126。当我检测到我的数据库有用户 ID 被删除时,如何“删除”他的会话内容?谢谢。

I got a problem, when the user is logged, and I assign the user their id, for example, 126. But when I doing maintain, or delete some banned user, for example, the user id 126 will remove from the database, but the user 126 still have the number 126 in his session. How can I 'delete' his session content when I detect my database have user id is deleted? Thank you.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

絕版丫頭 2024-12-09 23:50:09

在我看来,即使 ID 126 被分配给新用户,您也担心它会被阻止。

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

因此,如果最高指定值是 1234,那么您可以删除您想要的内容,下一个值将是 1235。

所以在我看来,您的问题并不是真正的问题。

Sounds to me like you are worried about ID 126 being blocked even if it gets assigned to a new user.

Shouldn't be a problem, cause IDs in those cases (usally) get created in an auto increment fashion and the DB (MySQL for sure, most others probably, too) chooses the next higher value to the highest ever generated value in such an auto-increment field.

So if the highes assigned value was 1234, then you can delete what you want, the next value is going to be 1235.

So your problem is not really a problem as it seems to me.

我很坚强 2024-12-09 23:50:09

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

1.)将用户凭据存储在数据库中,
每次用户执行操作时,您都可以检查凭据,然后将用户踢出(如果已被禁止)。我不认为它

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

There are 2 solutions that I can think of this,

1.) Store the user credentials in the db,
every time the user makes an action you can check for credentials then kick the user out if already banned. I don't think its

2.) cache the logged in users, the cache should be global so the banned user's session can be checked

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文