RTX Server SDK跨服务器
反向单点登录RTX,即通过腾讯通登录到其他的系统,登录腾讯通后其他的系统不用输入用户名和密码即可登录。可能有二种情况。腾讯通和其他系统在同一台服务器上或在不同的服务器上。要调用腾讯通的登录验证接口的系统必须安装RTX Server SDK(rtx服务器安装的是2013版本,rtx server sdk安装的是2015版本)。项目引用sdk安装目录下的“APIObject.dll”文件。
环境:
RTX服务器端版本是2013,机器名为”A机器“,IP为”192.168.0.88“
步骤一:安装Rtx Server sdk
在需要调用RTX接口的机器上安装Rtx Server SDK,这里提供的是RTX2015的接口 rtxserversdk2015formal.zip,亲测过可用
步骤二:修改RTX服务器的配置,添加IP和端口的白名单
1>开发环境和RTX服务器在同一台机器上,即RTX Server SDK和RTX服务器在同一台机器上
以下是官方代码,是开发环境和RTX服务器在同一台机器上的情况。
string strName = HttpContext.Current.Request.QueryString["user"];
string strSign = HttpContext.Current.Request.QueryString["sign"]; RTXSAPILib.IRTXSAPIRootObj RootObj = new RTXSAPILib.RTXSAPIRootObjClass();
RTXSAPILib.IRTXSAPIUserAuthObj2 AuthObj2 = (RTXSAPILib.IRTXSAPIUserAuthObj2)RootObj.UserAuthObj; Response.Write(strName);
Response.Write(strSign); bool bOK = AuthObj2.SignatureAuth(strName, strSign); if (bOK == true)
{
Response.Redirect("OA.html");
}
else
{
Response.Redirect("error.html");
}
2>开发环境和RTX服务器在不同机器上,即RTX Server SDK和RTX服务器安装在不同机器上
RTX Server SDK:A机器,IP为192.168.0.88
RTX服务器:B机器,IP为192.168.0.120
2.1>A机器,修改sdk的配置
打开Tencent/RtxSSDK/RtxServerApi.ini文件,修改Host为B机器的IP
[Common]
Host=192.168.0.120
Port=6000
2.1>B机器,修改Rtx服务器的配置文件
第一,修改代码,只需对官方代码稍作修改,指定RTX服务的ip和端口;
第二,修改RTX服务器端配置,默认RTX 服务器只允许本机调用SDK,如果其他的机器需要调用,必须修改RTX 服务器安装目录的以下2个文件
SDKproperty.xml文件,添加节点<IP>192.168.0.88</IP>
<APIClient>
<IPLimit Enabled="1">
<IP>127.0.0.1</IP>
<IP>192.168.0.88</IP>
</IPLimit>
</APIClient>
AppConnConfig.xml文件:添加节点<IP>192.168.0.88</IP>
<APIClient>
<IPLimit Enabled="1">
<IP>127.0.0.1</IP>
<IP>192.168.0.88</IP>
</IPLimit>
</APIClient>
第三,重启RTX服务器让配置生效。
string strName = HttpContext.Current.Request.QueryString["user"];
string strSign = HttpContext.Current.Request.QueryString["sign"]; RTXSAPILib.IRTXSAPIRootObj RootObj = new RTXSAPILib.RTXSAPIRootObjClass();
RTXSAPILib.IRTXSAPIUserAuthObj2 AuthObj2 = (RTXSAPILib.IRTXSAPIUserAuthObj2)RootObj.UserAuthObj; Response.Write(strName);
Response.Write(strSign); RootObj.ServerIP = "192.168.0.88";
RootObj.ServerPort = ;
bool bOK = AuthObj2.SignatureAuth(strName, strSign); if (bOK == true)
{
Response.Redirect("OA.html");
}
else
{
Response.Redirect("error.html");
}
步骤三:开启8006端口
sdk需要调用8006端口,在命令行telnet看看端口是否打开
telnet 192.168.0.88 8006
如果端口没有打开,则通过下面步骤打开8006端口
windwos防火墙>高级设置>入站规则>新建规则
首先,打开电脑的控制面板,然后在控制面板中找到防火墙;
在防火墙设置左边选择点击高级设置;
高级安全设置中,我们点击选择左边的入站规则;
在右侧栏选择点击新建规则;
规则类型选择端口类型;
选择tcp协议,特定端口,端口自己规定,比如4444;
操作策略选择允许连接;
何时应用规则,默认全选;
端口名称和描述,自拟;
退出之后,我们就看到创建的入站规则,该端口允许。
步骤四:WCF发布到IIS
RTX的接口是都32位的,现在的机器基本是64位,在vs中调试接口不报错,但是发布到iis就报错。
解决方法:将接口封装成wcf发布到iis,Interop.RTXSAPILib.dll这个是32位的 将IIS 应用程序池 启用32位应用程序 设置为true就可以了
程序员的基础教程:菜鸟程序员
RTX Server SDK跨服务器的更多相关文章
- RTX Server SDK跨服务器如何调用
1. 确认安装RTX Server SDK在开发的机器上必须确认已经安装了RTX Server SDK,并且与RTX Server的版本要一致.该计算机后面我们简称SDK计算机. 2. 步骤2 ...
- sql server 数据库跨服务器备份,复制监视器——快照代理,复制流程
在做数据库跨服务器复制时,查看复制监视器的快照代理,可以看到复制流程,具体如下: 初始化 连接发布服务器 设置服务器数据库兼容性级别 更新索引的统计信息 在生成快照时锁定已发布的表 复制快照数据(每个 ...
- sql server 2008 跨服务器查询
exec sp_addlinkedserver 'ITSV','','SQLOLEDB','192.168.202.53' exec sp_addlinkedsrvlogin 'ITSV','fals ...
- SQL Server的跨服务器数据访问方法
想要在SQL服务器上访问另一个服务器的数据,可以采用此方式: 1.建立数据库链接: 右键“链接服务器”,选择“新建链接服务器...” 以上的操作也可以通过SQL脚本实现: exec sp_addlin ...
- SQL SERVER 数据库跨服务器备份
原文:https://www.cnblogs.com/jaday/p/6088200.html 需求介绍:每天备份线上正式库并且把备份文件复制到测试服务器,测试服务器自动把数据库备份文件还原. 方案介 ...
- SQL Server 跨服务器操作
Ø 简介 在工作中编写 SQL 时经常会遇到跨库或跨服务器操作,比如查询时,通过 A 服务器的某张表关联 B 服务器某张表,进行连接查询.或者从另一台服务器中的数据,对当前数据库中的数据进行 CRU ...
- SQL Server跨服务器建立视图
create view View_AppCus as select dwmch,zjm from ksoa.dbo.mchk SQL Server跨服务器操作经常需要用到,下面就为你介绍的是SQL S ...
- SQL Server跨服务器查询的实现方法,OpenDataSource
SQL Server跨服务器查询的方法我们经常需要用到,下面就为您介绍两种SQL Server跨服务器查询的方法,如果您感兴趣的话,不妨一看. SQL Server跨服务器查询方法一:用OPENDAT ...
- Sql Server 跨服务器连接
用openrowset连接远程SQL或插入数据 --如果只是临时访问,可以直接用openrowset --查询示例 select * from openrowset('SQLOLEDB', 'sql服 ...
随机推荐
- 函数参数个数不确定时使用va_start
今天在网上看程序时忽然发现别人的函数参数中有省略号,甚是吃惊,发现其函数中使用了va_start,经过查资料大概明白其用法,个人觉得很好用! #include <stdio.h> #inc ...
- Codeforces Round #205 (Div. 2)C 选取数列可以选择的数使总数最大——dp
http://codeforces.com/contest/353/problem/C Codeforces Round #205 (Div. 2)C #include<stdio.h> ...
- 引用 LPSTR、LPCSTR、LPTSTR、LPCTSTR、LPWSTR及LPCWSTR的意义及区别
1.ANSI(即MBCS):为多字节字符集,它是不定长表示世界文字的编码方式.ANSI表示英文字母时就和ASCII一样,但表示其他文字时就需要用多字节. 2.Unicode:用两个字节表示一个字符 ...
- HttpURLConnection的使用步骤
创建一个URL对象: URL url = new URL(http://www.baidu.com); 调用URL对象的openConnection( )来获取HttpURLConnection对象实 ...
- 【转】用Jmeter制造测试数据
在平时的测试过程中,肯定会有碰到需要一批大量的数据的情况,如果这些数据本身没有太多的要求,或者说需求比较简单,可以通过简单的参数化实现的,推荐用Jmeter来造数据. 限制: Jmeter只能支持ja ...
- python高手的自修课
python高手的自修课 作者:相国大人 目录 0.第0课:前言与参考文献 目标读者: 具有一定python基础的编程爱好者. 本系列博文为了尽可能少说废话,凡是能够用代码表达的,都尽量直接用代码.读 ...
- 杂项-数学软件:MATLAB
ylbtech-杂项-数学软件:MATLAB MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发.数据可视化.数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATL ...
- 象棋AI算法(二)
原文大神是用html5+js写的关于象棋AI的博客,里面重点讲了棋子的着法,自己设计的评估函数和简单的Minmax理论,没有具体的讲搜索算法,本文是对原文的学习和分析补充 一,棋子的着法com.byl ...
- Python图片转字符
前段时间学习pillow写的,可以通过改变font_map改变转换的深度和字符.思路是先转换黑白大小,读取黑白值取范围读font_map转变. from PIL import Image,ImageD ...
- 初识ansible
一 . 初识ansible 1 . 准备工作: 准备四台干净的虚拟机, 192.168.133.129(主控节点,下面三个为被控节点) 192.168.133.130 192.168.133.131 ...