我想向用户显示作为评论系统的一部分登录的其他用户。跟踪用户的最佳做法是什么?例如:
您是否跟踪所有会话,然后将它们标记为已关闭。或者您是否在注销时删除用户,只跟踪活动用户。
我在想我应该创建一个包含用户 ID、登录时间、注销时间和/或状态的表。这是要走的路还是有一些跟踪会话ID的替代方法。如果使用表,保留 sessionid 是否有价值。当会话不再活动时,我是否应该删除行,而不需要 whenloggedout 字段。
有一个登录很容易跟踪用户的登录。但是,跟踪用户的退出更难,因为他们的会话可能会因浏览器崩溃等而中断。
只要用户没有破坏会话,就考虑用户登录是否是最佳做法……例如,FB 和 Gmail 将让您几乎无限期地保持登录状态——或者自上次活动以来是否应该有时间限制?每次现场有活动时保存到此表的想法并不吸引人。
现在,我正在考虑以下内容:
create table loggedin (userid (int), whenloggedin (datetime), whenlogged out (datetime), loggedin(tinyint))
如果 whenloggedout 不为 null 或经过像 24 小时这样的长时间限制,则后者将变为 0。我想 FB 在让您长时间登录的同时,还会出于聊天等目的跟踪活动,但不确定。我也在考虑让表格扩展,而不是删除已关闭的会话,但也许这是一个错误。
这种方法是否被认为足够或有更好的方法。许多人对此提出建议。