首页 mcgsTp. 正文

回复

实现登录用户自动注销

mcgsTpc-昆仑技创 浏览:1707 回复:10 收藏

何振东  2016-03-21 17:43

  前段时间,做到一个工程项目。项目中涉及两个用户组,管理员组与操作员组。管理员组拥有修改重要参数和修改用户的权限,操作员具有浏览和部分常规命令的权限。

    因为涉及的参数是会影响整个系统的,所以设计之初考虑用户自动注销的问题,防止管理员用户在修改了参数之后,没有及时注销用户,被他人恶意修改。遗憾的是当时工程紧迫,未能很好的实现。

    这段时间参考了网上的案例,发现了如下的实现形式:


    利用MCGS中的“循环策略”,将循环时间更改为100ms,在策略行中添加脚本程序如下:

    

    IF !strComp(!GetCurrentUser( ),"王国龙" ) =0 THEN     '将当前登录用户与管理员用户做比较

        !TimerRun(1)                                      '判断管理员用户登录时,启动定时器1

        if !TimerValue(1,0 )>=20 then                     '当定时器1计时超过20s

            !TimerStop(1 )                                ’定时器1停止

            !TimerReset(1,0)                              '定时器1清0

            !SendKeys("{ENTER}")                          ’发送“确定”命令

            !LogOff( )                                    '自动注销当前用户

        endif

    ENDIF


    利用上面的方法,可以实现登录用户在指定的时间完成自动退出的过程。不知道有没有朋友尝试过另外的实现方法。例如,可以检测键盘、鼠标最后操作的时间,当无用户操作3分钟就自动注销用户。这样的方法似乎更人性化。希望用过的朋友给大家分享一下


我知道了