Foxtable(狐表)用户栏目专家坐堂 → 关于强行关闭客户端的想法


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

主题:关于强行关闭客户端的想法

帅哥哟,离线,有人找我吗?
atmetmicoo
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:531 积分:4155 威望:0 精华:0 注册:2012/11/26 21:54:00
关于强行关闭客户端的想法  发帖心情 Post By:2013/1/11 16:31:00 [只看该作者]

请教:

我现在做了一个在线 用户 的列表,是否可以强行关闭在线用户的客户端,请各位高手赐教。

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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/11 16:37:00 [只看该作者]

 思路应该是每个客户端自己关闭自己才对!

 比如,每个客户端都去数据库,或者服务器得到一个值,这个值是true的话,就正常,如果是false,就自动关闭。

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


加好友 发短信
等级:二尾狐 帖子:531 积分:4155 威望:0 精华:0 注册:2012/11/26 21:54:00
  发帖心情 Post By:2013/1/13 10:53:00 [只看该作者]

林老师,那是不是只能配合 计划管理 来执行? 每个一段时间读取一次某个字段的值,如果是false就运行:syscmd.project.exit(false),如果这样的话,会影响客户端速度,因为要不断连接数据库。


[此贴子已经被作者于2013-1-13 10:53:01编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2609 积分:16926 威望:0 精华:11 注册:2011/9/20 16:13:00
  发帖心情 Post By:2013/1/13 12:06:00 [只看该作者]

没那么严重。计划任务不是洪水猛兽


 回到顶部
帅哥哟,离线,有人找我吗?
布莱克朱
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:623 积分:3897 威望:0 精华:0 注册:2011/8/3 22:13:00
  发帖心情 Post By:2013/1/13 18:36:00 [只看该作者]

不需要  要搞的这么复杂  如果有个远程数据库 就可以远程控制了  如果想随时随地  就用计划任务 如果只是人家打开才判断关闭的话 就在登录或者项目事件设置下

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40550 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2013/1/13 19:58:00 [只看该作者]

绝对有必要,否则会出现同一用户多地登录的现象,比如,未退出再到另一地登录,可以看我那个指纹仪操作录像的解决方案。

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


加好友 发短信
等级:二尾狐 帖子:531 积分:4155 威望:0 精华:0 注册:2012/11/26 21:54:00
  发帖心情 Post By:2013/1/13 20:10:00 [只看该作者]

来了好多高手,谢谢你们,我现在就是用的计划管理,每个30秒钟运行一次,如果检测到用户表的字段"sys_IsEixt"未True时就执行关闭系统的代码。

对于那些异常退出的情况(断线),在下次登录的时候,自动将“sys_IsEixt” 设置为False,这样算是完美解决了。

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40550 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2013/1/13 23:23:00 [只看该作者]

以下是引用atmetmicoo在2013-1-13 20:10:00的发言:
来了好多高手,谢谢你们,我现在就是用的计划管理,每个30秒钟运行一次,如果检测到用户表的字段"sys_IsEixt"未True时就执行关闭系统的代码。

对于那些异常退出的情况(断线),在下次登录的时候,自动将“sys_IsEixt” 设置为False,这样算是完美解决了。

 

        您已经想到了,和我的思路基本一致,说明您的思路清晰,但是,您最后的解决方法不但不完美,反而有漏洞!

       比如,我是合法用户,先登录了,后面来了一个非合法用户,只是掌握了我的密码,他再登录后就会导致我(前者,合法用户)的客户端自动关闭!

 

 

      我的解决方法是这样的,和大家分享一下:

       检测到已经登录标识为true,出现的情况只有两种,未正常退出和非法登录,我的解决办法是,打开客户端,检测到该用户已经登录,则弹出指纹窗口,通过指纹仪来清除登录标识并在按下指纹的同时将新的密码写入,这样,指纹不合法的既清除不了登录标识,更不能修改新的密码,当然,您通过指纹仪确认写入的新密码,他也不能获得!

 

      我的设计中也在上次的录像那个项目中,通过指纹仪清除登录标识的操作窗口进行了进一步的改进,同时加上修改密码的功能,一般情况下,默认密码是读取的数据库的密码,但当您没有出现非正常退出,而怀疑到有异常的时候,先修改这个密码再按下指纹,这样,在确认的同时,新的登录密码自然就写到了后台,非法用户在自动退出系统后将不能再登录!

 

      您的设计稍加修改也是可以的,不是登录时设置为false,而是弹出一个管理员窗口,通过管理员输入密码来暴力清除,其他用户均不能给这个权限,当然,要用到指纹仪,那就灵活多了,真正的这个登录用户只有一个:合法指纹持有者!


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


加好友 发短信
等级:二尾狐 帖子:531 积分:4155 威望:0 精华:0 注册:2012/11/26 21:54:00
  发帖心情 Post By:2013/1/14 0:54:00 [只看该作者]

以下是引用程兴刚在2013-1-13 23:23:00的发言:

 

     您的设计稍加修改也是可以的,不是登录时设置为false,而是弹出一个管理员窗口,通过管理员输入密码来暴力清除,其他用户均不能给这个权限,当然,要用到指纹仪,那就灵活多了,真正的这个登录用户只有一个:合法指纹持有者!

图片点击可在新窗口打开查看 程兄所言极是,向您学习。


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


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

  哦 我还以为是要远程控制呢.

 回到顶部