网站如何记录上次登陆时间

各位大侠,我想设计一个字段记录用户上次登陆时间,我的想法是用户点击签退之后,记录这个时间到数据表中。
但我意识到,有些用户会不点签退直接关闭网页的情况,所以对这种情况,我怎么记录上次登陆时间呢?

阅读 5.7k
4 个回答

你想着记录 上次登录时间
实际考虑的是 上次登出时间

上次登录时间 last login

可以在用户登录时更新到数据库

上次登出时间 last logout

每次用户操作 / 访问页面,服务器更新最后操作时间 last access
用户登出时,记录 last logout
获取 上次登出时间
last logout > last access ? last logout : last access + expire time (比如 5分钟)

搞个定时器,定时签退。然后你获取最后一次签退时间即可。

然后就是这个定时器的逻辑了。也可以理解为在线的逻辑定义

  1. setInterval 这种不好。。因为变相成了不掉线
  2. 请求接口的时候打个日志。但是如果有中间件还好,不然变动太大。
  3. 进入页面时,提交一下。缺点就是对于单页应用不是很好。可以在路由中做控制。

用户登录的时候你记录一下时间不行吗,你为什么要在退出的时候记录时间

既然标签里标了前端,那前端的解决方案就是每次登录的时候把时间存到localstorage里面,这个最简单

推荐问题