资源描述
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 配置开发环境
1. 在开发机器安装RTX2013 Server SDK包。
2. 进入Server SDK安装目录(默认路径:x:\Program Files\Tencent\RTXSSDK\),把该目录下的dll文件及rtxServerApi.ini拷贝到系统的System32目录下(RTX2008Beta2之后的RTX版本安装时已经自动拷贝到该目录下),如果在网页调用java接口,需要另拷贝一份到JDK的bin目录下。
3. 进入RTX服务器安装目录下,用记事本打开SDKPorperty.xml文件,在里面增加开发机器地址(如下图所示),保存后重启RTX服务。
4. 拷贝Java目录(默认路径:x:\Program Files\Tencent\RTXSSDK\Demo Source\Server Sample\Java)下的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方式访问cgi文件。
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=" + strUser
URL 说明: ip 为 rtx 服务器安装机ip , receiver 参数为rtx用户账号。
Java 获得SessionKey代码:
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(new 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。
页面登陆rtx 客户端 代码:
1. 页面需要首先引入下面 object 标签
<OBJECT classid=clsid:5EEEA87D-160E-4A2D-8427-B6C333FEDA4D id=RTXAX></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") = 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 登陆账号代码:
页面引入以下标签。
<OBJECT classid=clsid:5EEEA87D-160E-4A2D-8427-B6C333FEDA4D id=RTXAX></OBJECT>
Jsp 代码
window.onload = function(){
try{
// 获得 rtx 客户端 登陆账号和 签名
var 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();
$("#loginUser").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 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.out.println("系统出错"+e);
}
return success;
}
如果验证成果 返回 true
1.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"></script>
language="JScript.Encode" src="js/rtxint.js"></script>
3. 在页面嵌入下面 标签代码
<img align="absbottom" width=16 height=16 src="/images/blank.gif" onload="RAP('share');">
注意 RAP('share'); 中参数为 rtx 用户账号。
展开阅读全文