房费制 之 登录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 ...
随机推荐
- Heritrix与Nutch对比
Nutch 开发语言:Java http://lucene.apache.org/nutch/ 简介: Apache的子项目之一,属于Lucene项目下的子项目. Nutch是一个基于Lucene,类 ...
- Struts2 学习第一步准备工作
第一步:安装下载MyEclispe10 对于MyEclispe的下载安装就不再详述了. 第二步:下载Struts-2.3.15 Struts-2.3.15下载地址: http://struts.apa ...
- SQL server 2000安装时“以前的某个程序安装已在安装计算机上创建挂起”
客户使用的固定资产盘点软件使用的数据库是MSSQL 2000,在安装完成打上SP3的时候提示“以前的某个程序安装已在安装计算机上创建挂起的文件操作.运行安装程序之前必须重新启动计算机“,从客户的软件提 ...
- grails的controller和action那点事---远程调试groovy代码
最近由于项目需要,用到了grails,这玩意确实好用,生产率高有类型python的速度与简洁.仅第一印象,用的还不深入,说的不对请轻拍. 遇到的几个问题: 1. groovy远程调试 玩Java的应该 ...
- Android Fragment使用
通常地 fragment做为宿主activity UI的一部分, 被作为activity整个view hierarchy的一部分被嵌入. 有2种方法你能够加入一个fr ...
- 6.组函数(avg(),sum(),max(),min(),count())、多行函数,分组数据(group by,求各部门的平均工资),分组过滤(having和where),sql优化
1组函数 avg(),sum(),max(),min(),count()案例: selectavg(sal),sum(sal),max(sal),min(sal),count(sal) from ...
- JavaMail学习笔记(七)、帐号激活与忘记密码 实例(zhuan)
一.帐户激活 在很多时候,在某些网站注册一个用户之后,网站会给这个用户注册时填写的email地址发送一封帐户激活邮件,这封邮件的内容就是一个激活帐户的链接和一段简短的文字描述,如果用户没有去邮箱将 ...
- OCP读书笔记(18) - 空间管理
OLTP 表压缩 压缩始终是非常占用CPU的过程,并且需要花费一定时间,通常,如果压缩数据,则数据必须解压缩后才能使用.虽然此要求在数据仓库环境中是可以接受的但在OLTP环境中可能无法接受 现在,在O ...
- spring问题排查-调低日志等级
问题描写叙述 1. 页面经过一次改动后,提交后页面出现400错误,可是后台并没有输出不论什么错误信息. 2. debug监听应页面对应的提交链接也没有不论什么反应(没有进入后台的controller方 ...
- Shiro学习笔记(5)——web集成
Web集成 shiro配置文件shiroini 界面 webxml最关键 Servlet 測试 基于 Basic 的拦截器身份验证 Web集成 大多数情况.web项目都会集成spring.shiro在 ...