TIPTOP 可以执行客户端的程式 还可以带参数 还可以回传值,可以在 weblogin里面利用这个特性做SSO。
构思:
weblogin 里面可以产生一组乱数码ID 存入 一个独立的SSO 专用ORACLE资料库里面的资料表 (避免资料库密码搞得到处都是)把这组乱数ID 传入客户端的 C:\TIPTOP\ssologin.exe {独立SSOID}这只程式拿到ID 就进到资料库查看ID是否存在?若存在,就读取本环境的电脑名称、目前登入使用者、目前IP...等环境资讯,判断当前使用者是谁? 写回SSO专用资料库,并产生新的ID。新的ID产生后,回传给TIPTOP weblogin。TIPTOP到资料库取出当前登入者帐号。 使用该帐号注册登入。完成之后就可以把所有密码栏位全部打乱了,不让使用者用正常的登入介面登入。
密码不能大量改,只要使用了密码原则造成大量集中修改密码时,就会有很多人无法登入系统。
(这部份我觉得奇怪,有哪位高人知道问题在哪吗?)
DEFINE cmd STRING DEFINE ok BOOLEAN #检查客户端某个文件是否存在 LET filename ='c:/test.txt' LET cmd = SFMT('cmd /C "if exist %1 (exit 0) else (exit 1)"',filename) CALL ui.Interface.frontCall("standard","execute",[cmd,1],[ok]) RETURN ok ### 另外一种写法 ### DEFINE FileName STRING DEFINE Result integer #执行本地文件 --LET FileName="D:\\temp\\testprg.exe" #执行远程共享文件 --LET FileName="\\\\192.168.100.192\\abc\\testprg.exe" #执行远程共享文件+参数(下例中wowhaha为命令行参数) LET FileName="\\\\192.168.100.192\\abc\\test2.exe wowhaha" #参数列表中的0,代表命令运行方式为no wait CALL ui.interface.frontcall("standard","execute",[FileName,0],Result) IF Result!=1 THEN DISPLAY "Run client file error!" END IF
https://4js.com/online_documentation/fjs-fgl-manual-html/#fgl-topics/c_fgl_frontcalls_intro.html