我正在使用 symfony 2
我已检查用户是否从另一个系统登录,如下所示, 用户表中的字段:
is_login(tinyint)
登录时为 1,注销时为 0last_login(datetime)
登录时完成输入
保存所有登录日志的表 -signup_log:
id(int -11)
user_id(int-11)
login_time(dat_time)
logout_time(date_time)
登录时,我从用户表中检查了is_login
,如果它为“0”,则我允许登录系统。
上述功能存在一些问题:
- 如果用户登录到任何系统,并且系统崩溃
- 如果用户未正确注销(只需关闭浏览器或系统)
在上述两种情况下,is_login 不会设置为“0”。
我不知道这种情况该怎么办?
最佳答案
对于第 2 点,我将使用一些看门狗策略。每个用户操作都会刷新一个时间戳。在服务器端,一个 cron 任务检查 tajar 时间戳。如果时间戳大于阈值,则认为用户已注销。您可以通过刷新时间戳的 Ajax 调用来获得更多控制,以防用户可能花费很长时间阅读或进行其他操作而不向服务器发送请求。
关于php - 检查用户是否在另一个系统中登录问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40547643/