房费制 之 登录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 ...
随机推荐
- java泛型 之 入门(interface)
一:泛型简单介绍: (1)所谓泛型,就是变量类型的參数化. 泛型是JDK1.5中一个最重要的特征.通过引入泛型,我们将获得编译时类型的安全和执行时更小的抛出ClassCastException的可能. ...
- Java并发专题 带返回结果的批量任务运行 CompletionService ExecutorService.invokeAll
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/27250059 普通情况下,我们使用Runnable作为主要的任务表示形式,可是R ...
- 祖国版SoloWheel:Airwheel爱尔威火星车 拆箱&上手经验_运动户外_晒物广场_什么值得买
http://m.baidu.com/from=844b/bd_page_type=1/ssid=0/uid=3151E6C0905477A13653132D762BB6FB/pu=sz%401320 ...
- cowboy rest
REST Flowcharts 这章节将通过一些列不同的流程图来介绍REST处理状态机. 一个请求主要有四条路线,一个是方法OPTIONS. 一个是方法GET和HEAD.一个是PUT.POST和PAT ...
- Conversion to Dalvik format failed: Unable to execute dex
最近莫名奇妙遇到“Conversion to Dalvik format failed: Unable to execute dex”错误,stackoverflow以后得到结果 把项目中classp ...
- linux下用shell删除三天前或者三天内的文件
说明:+n 大于 n, -n 小于 n, n 相等于 n. find / -amin -30 -ls # 查找在系统中最后30分钟访问的文件find / -atime -2 -ls # 查找在系统中最 ...
- 用XAML做网页!!—边栏与页脚
原文:用XAML做网页!!-边栏与页脚 此次我们来设计边栏和页脚,首先从页脚开始,其代码很简单: <Border x:Name="Footer" BorderBrush=&q ...
- java api例子网站
http://www.programcreek.com/java-api-examples/ http://www.apihome.cn/api/list/ http://www.docjar.com ...
- Android之Http通信——3.Android HTTP请求方式:HttpURLConnection
3.Android HTTP请求方式之HttpURLConnection 引言: 好了,前两节我们已经对HTTP协议进行了学习.相信看完前两节的朋友对HTTP协议相比之前 应该更加熟悉吧.好吧.学了要 ...
- java 字符串 asc 加密解密
package com; public class MD5Test { /** * @param args */ public static void main(String[] args) { Sy ...