• 房费制 之 登录BUG


    声明:以下内容只有当你登录到一个username同时,学生不能申请多次登录。




            说是BUG,事实上这也不是一个BUG,仅仅是想出一个办法,解决一个大家好多人都没有解决的问题。以下就给大家具体讲讲究竟是什么样的问题。什么样的解决的方法:


            在机房收费系统中的用户登录功能,我们可以让一个用户在不同的电脑上同一时候登录吗?我相信大家跟我的想法都差点儿相同,一个用户当然不能在不同的电脑上同一时候登录!那么问题就来了,假设用户已经登录系统,突然断电或者死机重新启动。那么用户还能登录我们的系统吗?肯定能啊!

    不就是断电吗?为什么不能继续登录了呢?
                                      


            以下我们先看一下我们的数据库,当username为"1"的用户登录系统的时候,会往数据库中插入一条正在值班的工作记录,如图所看到的。


        


            同一时候,正是由于有了这条记录,我们在用户登录之前就应该推断"1"这个用户当前是否正在值班。数据库中有一条正在值班的记录,那么就应该提示"该用户正在值班!

    ",这样就限制了username为"1"的用户在不同的电脑上同一时候登录。


                                     


            正常的情况向,当一个用户登录系统。系统会往数据库中插入一条正在值班的工作记录。当用户正常退出系统的的时候,系统会将该用户正在值班的工作记录,更改状态。

    如图:
            


            假设用户已经登录系统,突然断电或者死机重新启动。用户不能正常的退出系统。系统也就不能将正在值班的记录更改为下班的状态!

    这个时候。我们再登录用户"1"。系统就会提示我们"该用户正在值班!",我们就再也登录不上去了,这个时候怎么办呢?仅仅能去更改后台数据库的数据。可是这是一个很麻烦也是一个很不适用的做法!


            以下看看我的登录,当数据库中已经存在一条用户"1"正在值班的记录的时候,系统会先提示我们"该用户正在值班!

    ",接着跳转到还有一个新的登录页面,如图。

    我为系统设置了一个超级password!当输入超级password正确的时候。我们就能再次登录系统!


                                         


            超级password是自己设置的,能够写在代码里,也能够写在配置文件中。

    这个方案让我们攻克了电脑断电,死机重新启动用户不能再次登录的问题!

    可是,假设我们知道了超级password。我们也就能够实现同一个用户在不同的电脑上同一时候登录。所以,有利也有弊!

    可是我们能够让超级password变得非常机密,一般人不知道。仅仅有超级管理员才知道!这种话,勉强也能说得过去...


            经过上面简单的解说。相信大家都明确了我的超级password的用处吧!对于这一个问题。假设大家还有不一样的理解,能够私下跟我讨论......







    版权声明:本文博主原创文章,博客,未经同意不得转载。

  • 相关阅读:
    从源码观测STLstd::vector
    如何设计一个更通用的查询接口
    spring内嵌cglib包,这里藏着一个大坑
    JUC之线程池基础与简单源码分析
    JUC之线程池的实现原理以及拒绝策略
    扩容新生代为什么能够提高GC的效率
    JUC之文章整理以及汇总
    JUC之Fork/Join框架
    关于Synchronized你了解多少?
    (数据科学学习手札134)pyjanitor:为pandas补充更多功能
  • 原文地址:https://www.cnblogs.com/blfshiye/p/4809638.html
Copyright © 2020-2023  润新知