在rtx的论坛可以看到很多类似下面的论调:
“您好,所有用我们的api开发的jsp或java程序都必须放在SDK的安装包的java目录下,与RTXSvrApi.java同一目录(注意不能单独 copy出RTXSvrApi.java文件)。”简直让人吐血不止啊,幸好实际情形不是这样(也不可能是这样,要这样tx的程序员都找块豆腐撞死算了,否则也会给其他的java开发者口水淹死:-))。实际情形是:可以单独copy出RTXSvrApi.java,只是不能改掉RTXSvrApi.java的包名。
整合步骤(在3.61版本下通过):
1、将Crypt.dll、RTXParser.dll、SDKAPI.dll、SDKAPIC.dll、SDKAPIJava.dll复制到%windir%\system32目录下面;
2、定义一个简单的servlet:RtxServlet,覆盖doGet方法,在服务器端获得sessionkey,并传给客户端:
protected void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{
RTXSvrApi RtxsvrapiObj=new RTXSvrApi();
if(RtxsvrapiObj.Init())
{
String userID=new OperatorAdminObj().getCurrentUserId(request);
String sessionKey=RtxsvrapiObj.GetSessionKey(userID);
request.setAttribute("loginUser",userID);
request.setAttribute("rtxSessionKey",sessionKey);
RtxsvrapiObj.UnInit();
}
getServletContext().getRequestDispatcher("/rtx/rtx.jsp").forward(
request,response);
}
3、在rtx.jsp中,在客户端调用activex控件,自动登录rtx客户端。
<%@ page contentType="text/html; charset=utf-8" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>rtx</title>
<script type="text/javascript" src="javascript/global.js"></script>
<link rel="stylesheet" type="text/css" href="css/style.css">
<script language="vbscript">
Sub window_onload
Set objProp = RTXAX.GetObject("Property")
objProp.Value("RTXUsername") = "${loginUser}"
objProp.Value("LoginSessionKey") = "${rtxSessionKey}"
objProp.Value("ServerAddress") = "127.0.0.1"
objProp.Value("ServerPort") = 8000
RTXAX.Call 2, objProp
window.close
End Sub
</script>
</head>
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" >
<OBJECT id=RTXAX
data=data:application/x-oleobject;base64,fajuXg4WLUqEJ7bDM/7aTQADAAAaAAAAGgAAAA==
classid=clsid:5EEEA87D-160E-4A2D-8427-B6C333FEDA4D VIEWASTEXT>
</OBJECT>
</body>
</html>
4、在你的系统登录验证完毕后,通过打开新窗口调用RtxServlet,
window.open("RtxServlet","","")
就可以了。
rtx这种通过SessionKey的方式来实现其他系统与其的集成,对程序员来说是很方便的,但有其安全性问题:系统管理员可以很容易在服务器端获得SessionKey,再冒充其他人登录。不过这个世界上从无攻不破的堡垒,没有最好,只有更好。
分享到:
相关推荐
RTX简介、RTX体系架构、企业应用整合分析、整合应用场景、用户数据同步、单点登录、反向登录、待办提示、状态感知、发送短信。
详细讲解keil自带的操作系统RTX,里面有很多例子,帮助想了解运用RTX系统的程序员快速掌握
它与RTX无缝全面整合,用户登录腾讯通RTX客户端,点击办公协同插件相应功能按钮,就可以新建和处理各种办公、文件、邮件、信息、报告、流程等工作,而不需要通过OA的再次验证,用户操作更便捷。各种待办和待处理的...
第11章 RTX51实时操作系统 单片机原理、接口及应用 单片机原理、接口及应用 第11章 RTX51实时操作系统 内 容 提 要 前言 RTX51 系统特点 RTX51 的程序结构 RTX51的功能函数 RTX51的任务调度 RTX51的系统配置 RTX51的...
RTX 3.6 RTX 3.6 Runtime实时操作系统
在分析多任务实时操作系统RTX51 的主要任务处理策略的基础上,设计实现一个基于RTX51 的数据采集系统。该系统中的数据 采集工作和接口设备的管理按其执行顺序被划分为5 项任务,任务间的协调通过调用库函数发送信号...
RTX实时平台实现RS232通讯代码 关于windows开发 RTX下试试通讯的代码
摘 要:基于Windows操作系统的实时扩展系统(RTX)设计了弧焊机器人控制系统.采用模块化方法和单一工控机,利用开放的实时以太网络通信协议EtherCAT总线技术,基于VC软件完成了人/机交互界面以及各功能模块的设计...
RTX 3.6 SDK
rtx与oa的单点登录与反向登录,很好的说明文档
RTX64与RTX8.1以前版本比较,RTX64 3.X 64位实时操作系统,主要特点:提供一个位于64-bit Windows上运行的实时子系统(RTSS),提供精确的IRQs,I/O和内存控制,性能和分区专用核心,RTX执行实时线程的确定性排序,基于RTX...
RL-ARM的RTX嵌入式操作系统源代码,最新4.20版的。源码、库、例程均有,还有M0,M3,M4的IAR,Keil,GCC的工程文件-RL-ARM RTX
RTX51_FULL RTX51操作系统。 RTX51操作系统,支持多抢占式多任务处理,keil自带的为RTX51_TUNY仅支持16个任务,RTX51_FULL支持各种常见的实时系统功能 RTX51
结束裸奔时代:Keil RTX最小系统在 CPU 上的实现
实时系统RTX官方文档中文翻译,描述了RTX基本特点,进程线程,中断,架构,内存管理,API,等等
STM32实时操作系统RTX5官方例程: 1、此教程由Hitex制作,以MDK的软件包形式存在。 2、提供了18个案例,每个案例都有提供教程,教程为独立PDF章节。
内涵完整的windows与RTX之间通讯的完整代码,通过共享内存等IPC对象实现。
安装完keil以后,使用rtx系统,选中系统函数例如os_dly_wait,想查看这个函数的帮助,只需要选中这个函数,然后按下F1功能键,将自动跳转帮助说明这个函数的功能。方便初学者学习RTX系统。
RTX是基于Windows的实时操作系统。它是intervalzero的实时系统产品。它将一台Windows PC改造成一个实时系统,用以实现高精度运动控制、实时仿真等,广泛用于航空、航天、运动控制等领域。基于VC6.0开发实时子程序,...
RTX51是一个用于8051系列处理器多任务实时操作系统 RTX51可以简化那些复杂而且时间要求严格的工程的软件设计工作