房费制 之 登录BUG
声明:以下内容只有当你登录到一个username同时,学生不能申请多次登录。
说是BUG,事实上这也不是一个BUG,仅仅是想出一个办法,解决一个大家好多人都没有解决的问题。以下就给大家具体讲讲究竟是什么样的问题。什么样的解决的方法:
在机房收费系统中的用户登录功能,我们可以让一个用户在不同的电脑上同一时候登录吗?我相信大家跟我的想法都差点儿相同,一个用户当然不能在不同的电脑上同一时候登录!那么问题就来了,假设用户已经登录系统,突然断电或者死机重新启动。那么用户还能登录我们的系统吗?肯定能啊!
不就是断电吗?为什么不能继续登录了呢?
以下我们先看一下我们的数据库,当username为"1"的用户登录系统的时候,会往数据库中插入一条正在值班的工作记录,如图所看到的。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcnk1MTM3MDU2MTg=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
同一时候,正是由于有了这条记录,我们在用户登录之前就应该推断"1"这个用户当前是否正在值班。数据库中有一条正在值班的记录,那么就应该提示"该用户正在值班!
",这样就限制了username为"1"的用户在不同的电脑上同一时候登录。
正常的情况向,当一个用户登录系统。系统会往数据库中插入一条正在值班的工作记录。当用户正常退出系统的的时候,系统会将该用户正在值班的工作记录,更改状态。
如图:
假设用户已经登录系统,突然断电或者死机重新启动。用户不能正常的退出系统。系统也就不能将正在值班的记录更改为下班的状态!
这个时候。我们再登录用户"1"。系统就会提示我们"该用户正在值班!",我们就再也登录不上去了,这个时候怎么办呢?仅仅能去更改后台数据库的数据。可是这是一个很麻烦也是一个很不适用的做法!
以下看看我的登录,当数据库中已经存在一条用户"1"正在值班的记录的时候,系统会先提示我们"该用户正在值班!
",接着跳转到还有一个新的登录页面,如图。
我为系统设置了一个超级password!当输入超级password正确的时候。我们就能再次登录系统!
超级password是自己设置的,能够写在代码里,也能够写在配置文件中。
这个方案让我们攻克了电脑断电,死机重新启动用户不能再次登录的问题!
可是,假设我们知道了超级password。我们也就能够实现同一个用户在不同的电脑上同一时候登录。所以,有利也有弊!
可是我们能够让超级password变得非常机密,一般人不知道。仅仅有超级管理员才知道!这种话,勉强也能说得过去...
经过上面简单的解说。相信大家都明确了我的超级password的用处吧!对于这一个问题。假设大家还有不一样的理解,能够私下跟我讨论......
版权声明:本文博主原创文章,博客,未经同意不得转载。
房费制 之 登录BUG的更多相关文章
- 房费制 它 结账BUG
声明:以下内容仅仅是对在桌子上的卡与卡表的后面,适合学生的表! 最近,我们已经开始做VB.NET系统重构版,在这里跟大家聊聊我在机房收费系统中发现的漏洞. 在机房收费系统中有这样一个窗口--结 ...
- 一个struts2登录bug的解决
点登录的时候,在url后面总会加上一个;jsessionid=xxx 使找不到页面 的404 Bug ,百思不得其解,最后终于找到解决方案,实验最终成功解决了这个bug,下面是解决方案 1,增加依赖 ...
- 房费制VB版本(一个)——系统分析
首先.我们先回答两个个问题: 1.机房收费系统"是什么"? 2.机房收费系统应该"干什么"? 我的回答 ...
- 百度糯米iOSclient登录BUG
环境 设备:iphone5s 网络:WIFI App版本号: 操作步骤 1.进入登录界面 2.输入手机号 3.点击[获取验证码],等待接收验证码后 4.点击[X]退出登录界面 5.反复1-2-3,提示 ...
- vb.net版本房收费系统改造
房费制开始重建的最终版本. 前几天.刚刚看完三层的视频,在视频中具体的解说了一个登录功能.天真的我,当时以为三层结构是那么的简单,所以我草草地做完总结之后,就非常快就開始机房收费系统的重构了.但是谁想 ...
- BugTracker 加入发Mail的功能
BugTracker部署好之后,发现增加bug不能mail提醒.于是补上这个功能记录在此,方法是次要的,主要是找到地方.需要3步.吐槽下Asp的代码风格看的真心蛋疼.... 一.发送mail(主要是找 ...
- linux内核设计模式
原文来自:http://lwn.net/Articles/336224/ 选择感兴趣内容简单翻译了下: 在内核社区一直以来的兴趣是保证质量.我们需要保证和改善质量是显而易见的.但是如何做到却不是那么简 ...
- 拥抱高效、拥抱 Bugtags 之来自用户的声音(五)
Bugtags使用心得(创业公司场景篇) ——成都嘿嘿科技有限公司 作者:小花 一.产品定义 关于手机客户端产品(APP)的 bug 提交.监测及管理且具有团队协作性质的系统. 二.使用环境 公司:初 ...
- linux 踢出用户方法
linux系统root用户可强制踢制其它登录用户, 首先以root登录以便查看全部的在线用户信息,可用w命令查看登录用户信息 强制踢人命令格式:pkill -kill -t tty 解释: pkill ...
随机推荐
- 恶补jquery(四)jquery中事件--冒泡
事件 当我们在打开一个页面的时候.浏览器会对页面进行解释运行,这实际上是通过运行事件来驱动的.在页面载入事件时,运行Load()事件,是这个事件实现浏览器解释运行代码的过程. 事件机制 事件中的冒泡现 ...
- nyoj 130 同样的雪花 【哈希】
同样的雪花 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描写叙述 You may have heard that no two snowflakes are alike. ...
- 【从翻译mos文章】SGA_TARGET与SHMMAX关系
SGA_TARGET与SHMMAX关系 参考原始: Relationship Between SGA_TARGET and SHMMAX (文件 ID 1527109.1) 申请: Oracle Da ...
- Beijing seminar: China shadow banking
Beijing seminar: China shadow banking-张化桥-财新博客-新世纪的常识传播者-财新网 Beijing seminar: China shadow banking
- excel删除问号~?~
1.直接替换(菜单)编辑——替换——查找内容——(输入)~?~——替换为(空,就是什么都不输入)——全部替换.2.设原数据在A列,从A1开始,若得到的数值数据需要参与计算,则在B1输入=--LEFT( ...
- EF 分离实体
具体步骤: 新建测试项目:如图 其中Respository和Model层均为类库项目, 1.在Respository层添加ADO.NET实体数据模型, 2.复制Model.tt文件到Model层,这是 ...
- OCP读书笔记(17) - 计划任务
轻量级作业: 也称为持久性轻量级作业,如果当我们的数据库每秒钟需要创建.删除或修改数十个或数百个作业时,使用轻量级作业是降低开销的最佳方法 常规作业:是由oracle 11g Scheduler 所支 ...
- 虚拟化技术学习(一)在VMware虚拟机中安装KVM
近期一直研究虚拟化技术,曾经对VMware虚拟机有一定的了解,近期突发奇想,能不能在VMware虚拟机中再装一个虚拟机呢? 那么问题就来了,首先,你须要一台电脑,vmware软件,(本人的电脑配置渣渣 ...
- 改动EditPlus默认模板
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2FvaGFpY2hlbmc=/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...
- 3 分钟的高速体验 Apache Spark SQL
"War of the Hadoop SQL engines. And the winner is -?" 这是一个非常好的问题.只要.无论答案是什么.我们都值花一点时间找出 Sp ...