以下是引用atmetmicoo在2013-1-13 20:10:00的发言:来了好多高手,谢谢你们,我现在就是用的计划管理,每个30秒钟运行一次,如果检测到用户表的字段"sys_IsEixt"未True时就执行关闭系统的代码。
对于那些异常退出的情况(断线),在下次登录的时候,自动将“sys_IsEixt” 设置为False,这样算是完美解决了。
您已经想到了,和我的思路基本一致,说明您的思路清晰,但是,您最后的解决方法不但不完美,反而有漏洞!
比如,我是合法用户,先登录了,后面来了一个非合法用户,只是掌握了我的密码,他再登录后就会导致我(前者,合法用户)的客户端自动关闭!
我的解决方法是这样的,和大家分享一下:
检测到已经登录标识为true,出现的情况只有两种,未正常退出和非法登录,我的解决办法是,打开客户端,检测到该用户已经登录,则弹出指纹窗口,通过指纹仪来清除登录标识并在按下指纹的同时将新的密码写入,这样,指纹不合法的既清除不了登录标识,更不能修改新的密码,当然,您通过指纹仪确认写入的新密码,他也不能获得!
我的设计中也在上次的录像那个项目中,通过指纹仪清除登录标识的操作窗口进行了进一步的改进,同时加上修改密码的功能,一般情况下,默认密码是读取的数据库的密码,但当您没有出现非正常退出,而怀疑到有异常的时候,先修改这个密码再按下指纹,这样,在确认的同时,新的登录密码自然就写到了后台,非法用户在自动退出系统后将不能再登录!
您的设计稍加修改也是可以的,不是登录时设置为false,而是弹出一个管理员窗口,通过管理员输入密码来暴力清除,其他用户均不能给这个权限,当然,要用到指纹仪,那就灵活多了,真正的这个登录用户只有一个:合法指纹持有者!