Foxtable(狐表)用户栏目专家坐堂 → [求助]请高手们提供一个限制用户登录的思路?


  共有4227人关注过本帖树形打印复制链接

主题:[求助]请高手们提供一个限制用户登录的思路?

帅哥哟,离线,有人找我吗?
智友软件工作室
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:912 积分:7445 威望:0 精华:0 注册:2013/2/25 13:10:00
[求助]请高手们提供一个限制用户登录的思路?  发帖心情 Post By:2013/8/4 0:56:00 [只看该作者]

用户数据采用远程存储,现在想实现某一个用户名在一台电脑上登录之后,该用户名就不能在本机和其他计算机上再次登录了,直到该用户下线之后其他电脑才能登陆这个用户名呢?请高手们提供个思路?先谢谢了。

 回到顶部
帅哥哟,离线,有人找我吗?
lsy
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2013/8/4 6:46:00 [只看该作者]

第一种思路:

用户权限表里,设一逻辑列:是否在线。

默认为False。

用户每次登录,除了检查用户名和密码,还检查是否在线的状态。

是否在线为True,,返回,拒绝登录;反之,正常登录。

每次登录成功,将是否在线更新为True。

每次退出成功,将是否在线更新为False。

缺点:如果程序意外退出,状态会停留在True的状态,用户再也无法正常登录,需管理员人工干预。

 

第二种思路:

用户权限表里,设一时间列:在线时间。

做个计划:

用户登录后,程序以较短的时间间隔,不断更新在线时间。

用户每次登录,计算,点击确定按钮时的时间,减去在线时间里的时间。

这个差值大于计划规定的时间间隔,说明此前,该用户不在线,正常登录;反之拒绝登录。

 

缺点:系统开销较大。

 


 回到顶部
帅哥哟,离线,有人找我吗?
瞩望星空
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:531 积分:4727 威望:0 精华:0 注册:2013/4/20 20:08:00
  发帖心情 Post By:2013/8/4 22:23:00 [只看该作者]

本人觉得,用户数量不太大的话,还是第二种方法好。如果系统销太大,就通过延长刷新在线时间的方法来调节。

单位里有一个程序,采用的是第一种方法,在实际使用时,会遇到很大问题。


 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57584 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2013/8/5 7:55:00 [只看该作者]

2楼的做法 正确.

 回到顶部
帅哥哟,离线,有人找我吗?
智友软件工作室
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:912 积分:7445 威望:0 精华:0 注册:2013/2/25 13:10:00
  发帖心情 Post By:2013/8/5 10:15:00 [只看该作者]

第一种方法我也想到过,但是就是不知道能否有解决异常退出的办法?
不知道第二种办法是不是确认的最优解决方式?

 回到顶部
帅哥哟,离线,有人找我吗?
客家阿哥
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:821 积分:5932 威望:0 精华:0 注册:2012/10/24 15:01:00
  发帖心情 Post By:2013/8/5 12:26:00 [只看该作者]

第一种方法用管理员就去干预一下不就行了!

应该可以两种方法相结合!时间和人工都可以干预,那样时间可以设置长一点,非正常退出的时候,要及时登陆,时间干预又不起作用的时候,实行人工干预!

 回到顶部