有个问题 请问一下大家
在做一个网站 客户要求用户不能重复登陆
如果用户在线 则登陆不进去
我试过数据库登陆表里加个状态 登陆前先判断状态
但是如果用户非正常退出,比如停电。
那么那个状态就不会被修改回来,用户将无法再继续登陆!
那什么样的设计才能实现这个功能呢?
能够写出详细代码的更好
不甚感激
在做一个网站 客户要求用户不能重复登陆
如果用户在线 则登陆不进去
我试过数据库登陆表里加个状态 登陆前先判断状态
但是如果用户非正常退出,比如停电。
那么那个状态就不会被修改回来,用户将无法再继续登陆!
那什么样的设计才能实现这个功能呢?
能够写出详细代码的更好
不甚感激
解决方案 »
- VS2008调试JS
- ajax请求的问题。无法获取到传递过来的参数
- asp.net动态加载label控件,可能你也会遇到
- VS2005水晶报表的一个简单问题
- 请问用ASP.NET技术实现邮件订阅功能?
- 页面控件disabled 问题
- 师兄,师弟,师姐,师妹,做了5年的,3年的,2年的,1年的还有半年的,还有即将做的,回答几个任职软件工程师一职的问题
- 打开.ASPX页面时让一个TextBox获得焦点
- Panel1动态绑定CheckBox控件,选中之后取不到值。。。搞崩溃了,求帮助
- Formview怎么终止信息插入呢
- 怎样在客户端用js让某个RequiredFieldValidator的验证失效
- 很久都没解决的问题,来这里希望高人指点
----------------------
这样的功能在C/S中实现比较简单,如果B/S可以实现也可以.
在用户登录状态中,每5分钟(自定义向数据库发送在线状态,刷新在线时间),数据有个触发器
每5分钟更新一次状态,把上次响应时间超过5分钟的用户的状态更新为离线即可.
这样子,下次就可以登录了.
要考虑停电的话只能这样了
不然我是没有办法了session超时的时候,就自动更改数据库里的标示字段
讲讲的吧
写个遍历的例子来看看啊
别光说不练啊
[color=#800080]是呀!麻烦兄弟举个例子来看看
我们可不怎么明白呢color]
1、用户登录之后,向客户端发送保存此用户的加密信息,当然可以包括用户登录ID和PWD,用户在登录状态
再次登录时,可以只判断客户端是否存在COOKIE信息,如果存在的话,就不能登录。
2、如果是像LZ所讲的非法退出,用户再次尝试登录网站的时候,首先判断客户端是否存在这些加密信息,如果存在
拿到服务端验证,验证成功则登录,不成功则重新登录
3、用户正常退出后,销毁客户端COOKIE凭证。
以上方法可以在服务端也加上票证验证,这样就增加了安全性。不知道LZ的意思如何?
有一定道理
但是有时候客户端会把cookie这一功能关闭
这时候问题又不好解决了