| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1487 人关注过本帖
标题:如何防止同一用户名多次同时登陆
只看楼主 加入收藏
yzwt2004
Rank: 1
等 级:新手上路
帖 子:472
专家分:0
注 册:2006-1-18
收藏
 问题点数:0 回复次数:12 
如何防止同一用户名多次同时登陆

有没有好的方法,就是当用户登陆后,别人再用这个用户,密码去登陆时就提示"用户己登陆",这个的好处多.

但这个是如何做到的呢?

搜索更多相关主题的帖子: 用户名 登陆 
2006-08-08 16:28
hangxj
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2045
专家分:0
注 册:2006-4-10
收藏
得分:0 
可以在用户信息表中增加一个字段用来标示用户是否已经登录
如:IsOnline(可以为int型也可为逻辑型)

用户登录时如果用户名和密码通过,则查询该字段是否为true(逻辑型)
如果为true则说明已经登录了.否则用户可以成功登录系统.并置该用户的该字段为true(逻辑型)

用户正常退出时置该用户的该字段为false(逻辑型)

补充情况,用户没有正常退出时(没有点退出,而是关闭IE),这种情况可能有点麻烦,我也没有做过,不知道具体这种情况应该怎么处理.




http://www./
2006-08-08 16:49
渚薰
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:1132
专家分:0
注 册:2006-8-6
收藏
得分:0 
针对没有正常退出的情况,可以如此
使用global.asa文件
在Session_OnEnd过程里
把用户的online状态设置为false

个人ajax技术专题站: " target="_blank">http://www. 我不会闲你烦,只会闲你不够烦!
2006-08-08 20:58
zfjyyzycl
Rank: 2
等 级:论坛游民
帖 子:239
专家分:10
注 册:2006-4-15
收藏
得分:0 
实际上可以借助在线系统来解决,动网的论坛由各online 表,就是在用户登录的时候再online表注册,这时候,你可以加以个ip的字段,在用户登录的时候可以先检查这个表如果有了则不允许登录
如果用户是正常退出的那么则在online表中删除这个用户,如果用户是直接关闭ie的,那么可以设置用在线不活动的时间,如果用户超过这个时间就自动删除用户,
online 可以 有 用户的Id  用户的名称 用户的登录时间 用户的活动时间  用户的Ip
在头文件里引用这个文件,当其他用户活动的时候,启用  where 系统当前时间-用户活动时间>设置的时间阀值 就删除用户
就可以了,当然用户活动的时候,记得改变用户的活动时间
2006-08-08 21:16
小狮兄
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2006-8-1
收藏
得分:0 
我是用隐藏域的,登陆成功的话就给个TRUE,在等录时用这个判断一下就可以了。

[此贴子已经被作者于2006-8-9 4:06:10编辑过]


2006-08-09 04:05
yzwt2004
Rank: 1
等 级:新手上路
帖 子:472
专家分:0
注 册:2006-1-18
收藏
得分:0 
以下是引用渚薰在2006-8-8 20:58:49的发言:
针对没有正常退出的情况,可以如此
使用global.asa文件
在Session_OnEnd过程里
把用户的online状态设置为false

能说的更明白些吗?

再用一个表我也想过,可那样还是有问题,能不能把这个兄弟的意见说的再清楚一点


想学 .Net 了
2006-08-09 08:54
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
回复:(zfjyyzycl)实际上可以借助在线系统来解决,动...
以下是引用zfjyyzycl在2006-8-8 21:16:49的发言:
实际上可以借助在线系统来解决,动网的论坛由各online 表,就是在用户登录的时候再online表注册,这时候,你可以加以个ip的字段,在用户登录的时候可以先检查这个表如果有了则不允许登录
如果用户是正常退出的那么则在online表中删除这个用户,如果用户是直接关闭ie的,那么可以设置用在线不活动的时间,如果用户超过这个时间就自动删除用户,
online 可以 有 用户的Id 用户的名称 用户的登录时间 用户的活动时间 用户的Ip
在头文件里引用这个文件,当其他用户活动的时候,启用 where 系统当前时间-用户活动时间>设置的时间阀值 就删除用户
就可以了,当然用户活动的时候,记得改变用户的活动时间

动网的这方面技术的确做得不错,不过这样必须实时检查再现活动时间,可能会比较复杂一点(个人认为)。

2006-08-09 09:17
渚薰
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:1132
专家分:0
注 册:2006-8-6
收藏
得分:0 
以下是引用yzwt2004在2006-8-9 8:54:10的发言:

能说的更明白些吗?

再用一个表我也想过,可那样还是有问题,能不能把这个兄弟的意见说的再清楚一点


呃……搞错我的意思了,global.asa不是一个表,而是一个asp网站的共用属性文件,请关于global.asa的知识查阅相关asp文档


个人ajax技术专题站: " target="_blank">http://www. 我不会闲你烦,只会闲你不够烦!
2006-08-09 13:36
monkey1931
Rank: 1
等 级:新手上路
帖 子:107
专家分:0
注 册:2006-3-22
收藏
得分:0 
那位有现成的例子,共享一下
2006-08-11 09:00
hangxj
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2045
专家分:0
注 册:2006-4-10
收藏
得分:0 

要现成的,你可以去找一下动网的程序看一下


http://www./
2006-08-11 09:04
快速回复:如何防止同一用户名多次同时登陆
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.035808 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved