asp怎么解决同一帐号禁止多人同时登陆

stevenzhao1 2007-02-28 01:10:53
如果这个帐号在一台机器上登录了,然后在其他机器上就不能登录
...全文
365 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
Georgechiu 2007-02-28
  • 打赏
  • 举报
回复
无法保证用户意外退出的时候及时更改状态
用会话来做,是不是好点
fly_222 2007-02-28
  • 打赏
  • 举报
回复
服务器端把在线用户信息长驻内存,每次用户登陆,服务器端检测该内存区的在线用户,确保在线用户唯一!
lym_1978 2007-02-28
  • 打赏
  • 举报
回复
不知道这样行不行
在登录成功后,以帐号来创建一个临时表,如果再次登录时,先判断临时表是否存在,如果存在,则不允许登录。
greennetboy 2007-02-28
  • 打赏
  • 举报
回复
无法保证用户意外退出的时候及时更改状态
沐筱风 2007-02-28
  • 打赏
  • 举报
回复
还有,用户每次活动时,都要更新一次“最后活动时间”,这样才会保持“最后活动时间”与当前之差小于时分钟或规定时间。
沐筱风 2007-02-28
  • 打赏
  • 举报
回复
HTTP协议有一个非常大的缺点,就是无法得到用户的状态,也就是说,用户每一次存取页面后,就也服务端没有了任何关系,双方谁也不知道下一次存取的是什么、能否成功。

这种问题在论坛程序中最常见,通常可以这样解决。

用户登陆后,在数据表中相应的字段置1,并记录一下最后一次访问的时间,当然这其中要有Cookies参与操作,然后当用户的最后一次活动时间与当前时间之差大于一定值时,将其在线标记置为0。

Update [User] SET Logon = 0 where (Logon = 1) && ((lasttime - now) > 10)

大概就是这个意思,上面的SQL语句只是一个参考,并没有完全按SQL和ASP语法来写。
T2DK45447 2007-02-28
  • 打赏
  • 举报
回复
用登录名作为SESSION的判断条件
vfan2010 2007-02-28
  • 打赏
  • 举报
回复
帐号那个表加个字段,比如0代表没登陆,1代表登陆,判断一下。。
万一掉电怎么办呢?就一直是1了.要作其它的处理.
best8625 2007-02-28
  • 打赏
  • 举报
回复
帐号那个表加个字段,比如0代表没登陆,1代表登陆,判断一下。。
静_心 2007-02-28
  • 打赏
  • 举报
回复
登录时判断在线帐号是否唯一.
hanbingb 2007-02-28
  • 打赏
  • 举报
回复
记下IP地址或硬件编号
rockywu 2007-02-28
  • 打赏
  • 举报
回复
当登录时,表示该用户在线,此时不能在以此用登录!
jrl5365 2007-02-28
  • 打赏
  • 举报
回复
当用户登录的时候数据库的一个字段做一下标记

110,569

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧