1、Web系统集成rtx工具 (Java)1.1.1 集成步骤:1.1.1.1 Rtx 服务安装配置1. 安装rtx 服务器。2. 启动RTX_ConfigCenter 配置服务 以及 RTX_HTTPServer 服务 3、安装完成后,启动RTX服务端程序。此时客户端还无法登录,需要对服务器端进行配置。进行系统后,如下图,按配置向导进行配置。4、设置超级管理员密码:安全起见,首先配置服务器端的超级管理员的登录密码,如下图所示。5. 如果你还没有申请License,可以按此界面的引导进行申请。如果你的License已经申请成功,点击页面的“导入License文件”进行后续操作。1.1.1.2 配置
2、开发环境1 在开发机器安装RTX2013 Server SDK包。2 进入Server SDK安装目录(默认路径:x:Program FilesTencentRTXSSDK),把该目录下的dll文件及rtxServerApi.ini拷贝到系统的System32目录下(RTX2008Beta2之后的RTX版本安装时已经自动拷贝到该目录下),如果在网页调用java接口,需要另拷贝一份到JDK的bin目录下。3 进入RTX服务器安装目录下,用记事本打开SDKPorperty.xml文件,在里面增加开发机器地址(如下图所示),保存后重启RTX服务。4 拷贝Java目录(默认路径:x:Program F
3、ilesTencentRTXSSDKDemo SourceServer SampleJava)下的RTXSvrApi.java及其他示例文件到您的工作目录下。注意:RTXSvrApi.java只能放进rtx下,rtx 不能有父package,否则会报错。Web系统服务器必须安装Server SDK包,并配置好访问限制。如果web系统服务器不是Windows平台,请通过Url的方式集成。5 RTX Server强加了SDK访问安性,因此通过http方式访问cgi文件需要在SDKProperty.xml添加远程访问机器的IP地址,如下图所示,允许192.168.10.100通过http方式访问cg
4、i文件。1.1.1.3 功能集成事例1.1.1.3.1 单点登陆流程步骤:1、 用户打开IE登录web系统,输入用户名及密码之后点击登录。2、 此时web系统服务器收到IE发过来的登录请求,对该用户进行身份验证。3、 如果验证通过,调用Server SDK 获取SessionKey接口获取该用户的SessionKey。SessionKey 获得方式:A、URL访问:http:/127.0.0.1:8012/GetSession.cgi?receiver= + strUserURL 说明: ip 为 rtx 服务器安装机ip , receiver 参数为rtx用户账号。Java 获得Sessio
5、nKey代码:public String getSessionKey(String strUser) String strSessionKey = ; String strURL = http:/127.0.0.1:8012/GetSession.cgi?receiver= + strUser; try .URL url = new URL(strURL); HttpURLConnection httpConnection = (HttpURLConnection)url.openConnection();BufferedReader reader = new BufferedReader(n
6、ew InputStreamReader(httpConnection.getInputStream(); strSessionKey=reader.readLine(); catch(Exception e) System.out.println(系统出错+e); return strSessionKey;B:通过RTXSvrApi 中 getSessionKey(String userName)方法获得。userName 参数为rtx用户账号。4、web系统服务器把该用户的SessionKey返回给浏览器5、用户成功登录web系统,同时调用客户端SessionKey登录的脚本登录RTX。页
7、面登陆rtx 客户端 代码:1. 页面需要首先引入下面 object 标签1、 具体登陆登陆rtx jsp 代码function loginRtx() try if(strSessionKey!=) var ip=127.0.0.1;/ rtx 服务器ip var objProp = RTXAX.GetObject(Property); objProp.value(RTXUsername) = username;/ 用户账号 objProp.value(LoginSessionKey) =strSessionKey;/该账号对应的 key objProp.value(ServerAddress
8、) = ip; /RTX Server IP地址 objProp.value(ServerPort) = 8000; RTXAX.Call(2,objProp); /2表示通过SessionKey登录 catch(e) 注意,rtx只支持ie浏览器。1.1.1.3.2 反向登陆当用户登陆rtx 客户端后,在访问web系统后直接登陆web系统。步骤流程:1、 用户打开web系统登陆界面时,页面脚本获得本机rtx登陆账号。Jsp获得rtx 登陆账号代码:页面引入以下标签。Jsp 代码 window.onload = function() try / 获得 rtx 客户端 登陆账号和 签名 var
9、objKernalRoot = RTXAX.GetObject(KernalRoot); var objRtcData = objKernalRoot.Sign; var strAccount = objKernalRoot.Account;/ 账号 var strSgin = objRtcData.GetString(Sign);/ 签名 if(strAccount != & strAccount.length 0 & strSgin != & strSgin.length 0 ) / 将用户和签名发送给 服务器 验证 是否正确 $(#addBtn).remove(); $(#loginUs
10、er).text(欢迎使用rtx登陆: + strAccount); catch(e) 2把账号和签名发送给web系统服务器。3. web系统服务器调用rtx 服务器接口 验证账号和标签。Java 调用rtx http 接口验证账号和签名工具代码: public static boolean userSignAuth(String strUser,String sign) boolean success = false; String strURL = http:/127.0.0.1:8012/SignAuth.cgi?user=+strUser+&sign= + sign; try .URL
11、 url = new URL(strURL); HttpURLConnection httpConnection = (HttpURLConnection)url.openConnection(); BufferedReader reader = new BufferedReader(new InputStreamReader(httpConnection.getInputStream(); String s =reader.readLine(); if(s!=null & s.equals(success!) success = true; catch(Exception e) System
12、.out.println(系统出错+e); return success;如果验证成果 返回 true1.1.1.3.3 部门同步Rtx 对部门的操作没有http 接口,只能通过RTXSvrApi.java 中接口对rtx 服务器中部门进行操作。具体接口请查看 RTXSvrApi。1.1.1.3.4 用户同步Rtx 对用户的操作没有http 接口,只能通过RTXSvrApi.java 中接口对rtx 服务器中用户进行操作。具体接口请查看 RTXSvrApi。1.1.1.3.5 用户状态感知步骤流程:1. 把服务器端安装目录下Webroot目录下的image和js两个文件夹拷进拷贝到您的Web应用工作目录下.2. 在Web应用中引用这两个Js文件。language=JScript.Encode src=js/browinfo.js language=JScript.Encode src=js/rtxint.js3. 在页面嵌入下面 标签代码注意 RAP(share); 中参数为 rtx 用户账号。