机房收费系统 之 登录BUG

声明:以下内容只对在登录时一个用户名不能同时多次登录的同学适用!

说是BUG,其实这也不是一个BUG,只是想出一个办法,解决一个大家好多人都没有解决的问题!下面就给大家详细讲讲到底是什么样的问题,什么样的解决办法:

在机房收费系统中的用户登录功能,我们能够让一个用户在不同的电脑上同时登录吗?我相信大家跟我的想法都差不多,一个用户当然不能在不同的电脑上同时登录!那么问题就来了,如果用户已经登录系统,突然断电或者死机重启,那么用户还能登录我们的系统吗?肯定能啊!不就是断电吗?为什么不能继续登录了呢?

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

同时,正是因为有了这条记录,我们在用户登录之前就应该判断"1"这个用户当前是否正在值班,数据库中有一条正在值班的记录,那么就应该提示"该用户正在值班!",这样就限制了用户名为"1"的用户在不同的电脑上同时登录。

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

如果用户已经登录系统,突然断电或者死机重启!用户不能正常的退出系统,系统也就不能将正在值班的记录更改为下班的状态!这个时候,我们再登录用户"1",系统就会提示我们"该用户正在值班!",我们就再也登录不上去了,这个时候怎么办呢?只能去更改后台数据库的数据,但是这是一个非常麻烦也是一个非常不适用的做法!

下面看看我的登录,当数据库中已经存在一条用户"1"正在值班的记录的时候,系统会先提示我们"该用户正在值班!",接着跳转到另一个新的登录页面,如图。我为系统设置了一个超级密码!当输入超级密码正确的时候,我们就能再次登录系统!

超级密码是自己设置的,可以写在代码里,也可以写在配置文件里。这种方法让我们解决了电脑断电,死机重启用户不能再次登录的问题!但是,如果我们知道了超级密码,我们也就可以实现同一个用户在不同的电脑上同时登录!所以,有利也有弊!但是我们可以让超级密码变得很机密,一般人不知道,只有超级管理员才知道!这样的话,勉强也能说得过去...

经过上面简单的讲解,相信大家都明白了我的超级密码的用处吧!对于这一个问题,如果大家还有不一样的理解,可以私下跟我讨论......

时间: 2024-08-06 22:53:35

机房收费系统 之 登录BUG的相关文章

VB.net版机房收费系统——VS报表制作及功能实现中的问题及解决办法(好学的代价=Bug)

作品展之前终于将机房的收尾工作做好了--报表 至于VS的报表怎么整,其实好多同学已经将博客写得像说明书一样了,在此,请允许我站在巨人的肩膀上,直接粘贴相应的博客链接地址:机房重构--报表  (作者:张欢) 本篇博客主要说明一下我在实现报表功能的时候出现的问题以及解决办法: 周结账单开始没打算整,因为同学们说,数据源的方式违背了七层,所以,日结账单就用的七层.因为之前的功能都没用绑定数据源的方式,故决定在重构工作结束之际,尝试使用一下, 事实证明,好学的代价=Bug,绑定数据源的时候,先报了一个这

机房收费系统重构之用户登录

机房收费系统开始了有一段时间了,但是感觉自己对于这一条线还是理解的不太深刻,导致后面也快不起来,所以来分析一下这用户登录的过程. 如果是纯三层的话,理解起来差不多,无非就是在层与层之间传递,但是随着用户需求,软件功能越来越多,那么其复杂程度越来越大. 因此,我们引入了更多层,从图中看,我们觉得好像这样比三层更加复杂,但是实现过程中我们会体现其高内聚,低耦合的优点.我们不难发现这是从三层加入设计模式演化而来,之所以采用抽象工厂模式是考虑到换数据库的方便,而应用外观模式是为了解决UI层和BLL层耦合

机房收费系统——登录优化

<机房收费系统个人版>基本上完工了,我的U层代码很多很乱.基本上是D层有几个函数,B层就对应有几个函数,U层使用对应B层中的每一个函数.比如说在登录中,U层首次要使用一个函数检查用户名和用户密码是否正确,然后再使用"添加用户上机记录"的函数.下面是登录的时序图: 登录业务比较简单,但是对于复杂的上机过程呢?U层要检查卡是否注册,余额是否充足,卡的状态是否在使用中,该卡是否现在不在线,通过这一系列检验后,还要查询学生表显示学生信息等等.这样就造成U层有好多函数,和B层的耦合度

机房收费系统 之 组合查询BUG

声明:以下内容只对在学生上机记录查询(组合查询)只查询已下机记录,操作员工作记录(组合查询)只查询已注销记录的同学适用! 说是BUG,其实这也不是一个BUG,只是一个不小心容易犯的错误,而且不注意的话还真发现不了.下面就给大家详细的讲讲: 在机房收费系统中有三个组合查询:学生基本信息查询.学生上机记录查询.操作员工作记录查询:其中的学生上机记录查询,我个人认为应该只查询出已经下机的记录,正在上机的记录不应该被查询出来:操作员工作记录也是同样的. 如果你跟我也是一样的想法,那就接着看看我们的实现方

VB.NET版机房收费系统---七仙女之系统登录

VB.NET第一版机房收费系统,告一段落,验收的时候,问题也是大大的存在,没有用上设计模式,什么触发器,存储过程,都没有用上,看看其她小伙伴的,七层实现登录?那是什么东东,相比较我的三层而言,多了两倍还加个一,通过查资料,看博客,憋了好几天,终于,憋出了一个七仙女---七层实现系统登录,七个女儿,各司其职,完美配合,衍生出众多美丽的故事. 从三层猛地跳到七层,有种穿越的感觉,说白了就是不会,又是想逃避的感觉,可是人生在世,有的事情不能随着自己的性子来,喜欢了就去做,不喜欢,就不做,没办法,就一直

机房收费系统 之 委托登录

忘记了具体的时间,具体的地点应该是在511.老师提了这么一句"以后你们的代码里面都不能有调用,全部都有委托".如果我没有记错的话,好像是这么说的......如果我记错了的话,也有可能是我听错了哈...... 最近开始机房收费系统合作版,然后就想着能不能把委托这个东西加到咱们的机房中来,然后就在那里查资料啊,查资料!反正查了一天多......最后,功夫不负有心人,终于搞定了! 虽然是实现了功能,但是真的不确定自己这样做到底是正确的还是错误的!这个还有待老师和师哥师姐们给出宝贵的意见! 委

.NET分层登陆——机房收费系统再总结

去年的时候,我写过一篇机房收费系统登陆的总结文章,那是站在VB的基础上,直接查询数据库实现的登陆.是很初期的知识.如果想了解详情,请看VB查询数据库之登陆窗体--机房收费系统总结(一). 今天,我要换一个角度,换一个方式,来实现登陆.首先,我选择的开发工具是VB.NET,数据库是SQLSever2008.其次,我用的是三层的思想,把界面,逻辑和数据都分开,减少相互之间的影响.在次,界面层尽量简洁,所有的算法和业务逻辑都写到逻辑层,同时使用了接口和工厂模式以及外观模式,减少了相互之间的依赖,降低了

机房收费系统——测试计划

测试计划(GB8567--88) 1引言 在项目基本编码工作完成的就要进行测试,对于排除出错误和修复漏洞有重要作用. 1.1编写目的 测试的主要目的就是尽可能多的找到系统中的漏洞,并且设计出测试用例,对系统测试.目的及在于对测试的方法.测试流程,有一定大体上的掌控.本文档的预期读者是测试人员. 系统测试在整个项目开发过程中,比例占到了40%~50%.基本上在项目进行编码的过程中就开始了测试,所以测试的好坏也影响了系统的功能实现情况. 1.2背景 说明: a.  测试计划所从属的软件系统的名称:机

机房收费系统——概要设计说明书

概要设计说明书 1引言 1.1编写目的 这是一个宏观的把控系统开发总概括,对于对象.类等进行一定的大体的设计,设计人员可以通过概要设计为接下来的详细设计做准备. 预期读者是设计人员. 1.2背景 说明: a.       待开发软件系统的名称:机房收费系统 b.       列出此项目的任务提出者: 开发者:十期学生 用户:廊坊师范学院全体师生 将运行该软件的计算站(中心):图书馆阅览室.学校机房 1.3定义 1.4参考资料 列出有关的参考文件,如: a.     本项目的经核准的计划任务书或合