社区
C#
帖子详情
关于同一帐号禁止多人同时登陆的问题
lxings
2007-05-27 02:39:32
要求如果一个已经在一台机器上登录了,其他机器上就不能登录
目前的做法是在数据表中用一个字段记录登陆状态,比如0代表没登陆,1代表登陆,任何帐号登陆是都判断一下。
问题是无法保证用户意外退出的时候及时更改状态,请各位高手给点意见。
...全文
4836
75
打赏
收藏
关于同一帐号禁止多人同时登陆的问题
要求如果一个已经在一台机器上登录了,其他机器上就不能登录 目前的做法是在数据表中用一个字段记录登陆状态,比如0代表没登陆,1代表登陆,任何帐号登陆是都判断一下。 问题是无法保证用户意外退出的时候及时更改状态,请各位高手给点意见。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
75 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
535cheng110
2008-09-09
打赏
举报
回复
xuexi
steden
2007-06-28
打赏
举报
回复
补。因为是自动编号,所以不可能有同样的“application("user_"+rs["id"])
或:session("user_id")
steden
2007-06-28
打赏
举报
回复
关于突然断电的情况。我有一个方法,不知道OK不OK。。
一个专门表。记录在线用户的。。。表有个自自动编号ID。
当登陆的时候。。session("user_id")=rs["id"]
这个是用来保存用户表中ID的。。
同时用application保存所有ID。为什么?呆会会讲到。
application("user_"+rs["id"])=rs["id"]
当有另外一个客户登陆的时候。
先判断当前表中有没有此客户存在。如果存在。则删除客户的信息。
重建新客户的信息。
删除表中的同时。也删除客户application("user_"+rs["id"])的信息。
=====================================================
这样只要所有用户在活动的时候。都进行一个简单的判断。
if(session("user_id")!=application("user_"+rs["id"]))
MessageBox.Show("在别处已登陆了你的帐号!")
不知道这种方法如何?
wutao1139
2007-06-25
打赏
举报
回复
MARK
luffy927
2007-06-25
打赏
举报
回复
mark,收藏下....
胖胖的洋葱
2007-06-06
打赏
举报
回复
如果你用的是SQL
那么...SQL的全局临时表可以解决这个问题
每当用户登陆.就以用户ID为表号..建一个全局临时表!~用户退出,你就删除这个临时表
不用担心这个临时表,因为当用户断开连接的时候
SQL会自动回收这个临时表!
所以断电啊.意外什么的.也都没问题!~
ChenJIanCHE
2007-06-05
打赏
举报
回复
同意 zmy12007() 老兄的意见~
使用ajax 定时向服务器提交在线验证,服务器将用户的验证信息存在静态的HashTable里
Key存用户的唯一标识比如用户名之类的,value存用户提交验证的时间。
服务器端使用一条线程每隔一段时间扫描一次HashTable如果将超时的用户删除。
用户在登陆的时候也向服务器请求此用户是否已登陆,直接向HashTable查一下就行了。
这样做的好处就是不管用户是否正常退出服务器都能将超时的用户清除。
缺点就是开销有点大如果登陆的用户比较少还可以,太多了就不好说了没测试过。
我们公司在项目中都是这样解决的。
连云港麦内哲
2007-06-04
打赏
举报
回复
在数据库中设置一个登陆状态的属性,
每次登陆就设置成1,退出改回成0就可以了
这样就比较简单了
tanjun132
2007-06-03
打赏
举报
回复
mark
eaglewu
2007-06-02
打赏
举报
回复
学习一下……
z8h8a8ng
2007-06-02
打赏
举报
回复
我也想学习一下
zmy12007
2007-06-02
打赏
举报
回复
问题是无法保证用户意外退出的时候及时更改状态
用ajax异步调用,在客户端定期发出请求,然后服务器在每次请求时记下服务器时间,当登入登入时只要比较当前服务器时间与最近更新记录下来的时间的间隔是否超过设定请求时间时间间隔,如果超过了就表明不在线不管意外与否,在此之内就表示在线拒绝登入
vingnet
2007-06-02
打赏
举报
回复
Good
waslee
2007-06-01
打赏
举报
回复
MAKE
gtod
2007-05-30
打赏
举报
回复
学习一下
XShenWJ
2007-05-29
打赏
举报
回复
收藏...以写winform用一个timer,每过一段时间进行检查的,asp.net不知道能不能用.
wopos
2007-05-29
打赏
举报
回复
mark 2
hcx_2008
2007-05-29
打赏
举报
回复
希望看到java的解决方案..包括application和数据库两种
eyuannet
2007-05-29
打赏
举报
回复
mark
wangwang1103
2007-05-29
打赏
举报
回复
mark
加载更多回复(54)
同一
账号
禁止
多人
同时
登陆
同一
账号
禁止
多人
同时
登陆
怎么避免一个账号多处同时登录
怎么避免一个账号多处同时登录 提问者:hty4000 提问时间:2009-02-17 10:26:49 怎么避免一个账号多处同时登录 最佳答案 找到D:\MYOA\webroot\inc\oa_config.php,修改$ONE_USER_MUL_LOGIN值。 //-- 是否允许
多人
用
同一
帐号
同时登录 -- $ONE_USER_MUL_LOGIN = 0; //1 允许; 0
禁止
;
oracle19cRAC_同步2套rac到
同一
台服务器dg+单实例dg
把2套19c的oracle的rac同步到
同一
台dg服务器。 彻底明白rac和dg的安装过程。 一课程主题 把2套19c的oracle的rac同步到
同一
台dg服务器。 彻底明白rac和dg的安装过程。 二课程特色 课程以实践为主,从头到尾...
Java Web开发防止多用户重复登录的完美解决方案
在web项目开发中,很多情况下都可以让
同一
个账号信息在不同的登录入口登录很多次,这样子做的不是很完善。一般解决这种情况有两种解决方案,小编呢主要以第二种方式给大家介绍具体的实现方法,对java web 防止多用户重复登录的解决方案感兴趣的朋友一起看看吧
springboot_demo:个人创建的springboot案例
springboot-demo 项目介绍 首次搭建的springboot项目,数据库采用postgres,并使用pg的存储过程查询数据;使用spring-data 简化数据库的访问,前端采用angularjs,集成redis,集成支付宝app支付,微信app支付,集成swagger以便快速形成接口文档 软件架构 软件架构说明 已集成功能 阿里短信功能 支付宝app支付 微信app支付
禁止
同一
账号
多人
登录功能 定时器功能 工具类中实现以下功能: (1). face++ 图片识别、身份证识别、银行卡识别 (2). JXL创建自定义excel、JXL解析excel (3). poi 创建自定义Excel文件、POI解析excel (4). ftp上传下载工具类 (5). MP3播放 码云特技 使用 Readme_XXX.md 来支持不同的语言,例如 Readme_en.
C#
110,571
社区成员
642,565
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章