前段时间,做到一个工程项目。项目中涉及两个用户组,管理员组与操作员组。管理员组拥有修改重要参数和修改用户的权限,操作员具有浏览和部分常规命令的权限。
因为涉及的参数是会影响整个系统的,所以设计之初考虑用户自动注销的问题,防止管理员用户在修改了参数之后,没有及时注销用户,被他人恶意修改。遗憾的是当时工程紧迫,未能很好的实现。
这段时间参考了网上的案例,发现了如下的实现形式:
利用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