回首页

上一页
下一页

Nove11网络中应用软件一次性登录及权限管理

 本人以批处理为主线,以入网底稿作标志,以应用软件的子程序作判断,达 

到应用软件的一次性登录;用户退出应用软件同时就退出了网络,不允许用户在 

网络中直接操作,把应用软件与Nove11网紧密结合起来,充分利用Nove11的保密 

性和权限管理功能为应用软件服务,达到数据的安全性。 
 具体操作步骤如下: 
  1、建立一个批处理文件AUTOEXEC.BAT(最好转换为EXE格式): 
包括启动汉字系统、Nove11入网、启动应用软件、自动退网、自动提示再次 
入网。 
 2、为每一用户建立一个入网标志文件(空文件)及一个应用软件各模块对应的 

权限库。 
 3、为每一用户建立一个入网底稿,唯一区别是用DELTREE删除该用户入网标 

志文件。 
 4、编制一应用软件公用程序,判断入网标志文件存在状况,确定入网的用户 

名。 
  若某一用户的入网标志文件不存在,则可确定是其正在登录入网;判断完成 

后自动补上该文件,以便再次判断其他用户。 
  5、根据不同用户及其权限库,编制一公用程序,确定该用户是否有权使用应 

用软件的某个功能。 
         运行环境:586服务器,386工作站(1M内存), 
         Nove11 3.11, Ucdos 5.0,Foxpro 2.5 
         附程序如下: 
         、賂YPE AUTOEXEC.BAT 
         ipx 
         netx 
         f: 
         login 
         call up.bat 
         tx 
         cd \home\dbf 
         call fox setup 
         logout 
         :cycle 
         login 
         cd \HOME\DBF 
         call fox setup 
         logout 
         goto cycle 
         ②入网底稿: 
         WRITE″Good %GREETING_TIME,%LOGIN_NAME.″ 
         MAP DISPLAY OFF 
         MAP *1:=SYS:;*1:=SYSHOME\%LOGIN_NAME 
         MAP S1:=SYS:PUBLIC 
         MAP S2:=SYS: 
         MAP S3:=C:\ 
         MAP S4:=SYS:UCDOS 
         MAP S5:=SYS:DOS 
         AMP S6:=C:\CCED 
         MAP INS S16:=SYS:FOX 
         MAP 
         COMSPEC=S3:COMMAND.COM 
         。ELTREE /Y SYS:HOME\DBF\CODE1.TXT 作标志 
         。APTURE 
         、叟卸嫌没篣sertest.prg 
         PUBL G_USER,g_right 
         DO CASE 
          CASE .NOT.FILE(′CODE1.TXT′) 
           !COPY CODE·TXT CODE1·TXT 
           G_USER=′USER1′ 
          CASE .NOT. FILE(′CODE2·TXT′) 
           !COPY CODE·TXT CODE2·TXT 
           G_USER=′USER2′ 
          CASE .NOT. FILE(′CODE3·TXT′) 
           !COPY CODE·TXT CODE3·TXT 
           G_USER=′USER3′ 
          CASE .NOT. FILE(′CODE8·TXT′) 
           QUIT 
         ENDCASE 
         、苋范ㄓ 户权限:Check.prg 
         SELE 1 
         USE &G_USER 
         GO MAIN_S2 
         ZDM=field (MAIN_S1) 
         IF left(&ZDM,1)=′0′ 
         DO MESSAGER WITH′你无权使用此功能模块!′,3 
         g_right=′0′ 
         retu 
         else 
         g_right=′1′ 
         endif 
 

上一页
下一页

回首页