• 有关在数据库中的 记录用户的登录状态


    当用户登录的时候,判断该用户是否等录了。用于处理 不让同一个账号在不同的时间,不同的IP上 进行重复登录 所进行的操作!

    每当用户登录的时候,就记录用户的登录日志(用户的ID,登录时间,退出时间,IP)等。 

    当你进行登录的时候,用户的登录状态为1,退出的时候 用户的登录状态为0, 当用户进行正常的登录、退出的时候,没有问题,用户登录日志也填上了。

    但是要是用户非正常的退出呢?

    那么用户登录的时候,这时数据库中 用户的登录状态 仍为1 ,那么用户就没有办法登录了。

    故 我搜索了几天的数据,终于找到了一种方法, 抱歉 这个网址给忘记了!

    所以 我想到的就是在USER 表中 又增加一个字段,为最后一次活动的时间, 当用户访问页面的时候,AJax  轮询,不断的去更新表中的这个时间(这样 对服务器的压力会很大!)

    当用户非正常退出的时候,那么 user表中 这个时间为上次非正常退出的时间。 

    那么用户再次登录的时候,判断当前时间 和 最后一次的活动时间的间隔 是不是在那个范围之内。 如果 当前时间 - 范围的时间  大于 最后一次活动的时间的话,则说明上次用户 异常退出了。 如果 当前时间 - 范围的时间 小于 最后一次活动的时间的话,表示用户已经登录 了,提示 用户已经登录了!

    那么 就把 用户log 表中的 退出时间 更改为 最后一次活动的时间。   这样就处理 非正常的登录。  (我是个新手,但是 我乐于学习,当遇到问题,自己解决不了的时候,问问经验 比你时间长的同事,他们会给你一些思路,给你开阔思路。感谢 生活中能够帮助自己的人!)

  • 相关阅读:
    一些Asp.Net面试题答案
    未能加载文件或程序集"Microsoft.Web.Infrastructure 的解决方案
    偶然的发现(与Code无关)
    配置一台测试机 每个域用户独立会话
    使用 Git 和 Visual Studio Online 进行版本控制
    1.大数据概述
    递归下降语法分析程序设计
    文法 LL1
    C语言的文法分析
    词法分析
  • 原文地址:https://www.cnblogs.com/Amosfengzi/p/4261608.html
Copyright © 2020-2023  润新知