反向单点登录RTX,即通过腾讯通登录到其他的系统,登录腾讯通后其他的系统不用输入用户名和密码即可登录。可能有二种情况。腾讯通和其他系统在同一台服务器上或在不同的服务器上。要调用腾讯通的登录验证接口的系统必须安装RTX Server SDK。
1>开发环境和RTX服务器在同一台机器上,即RTX Server SDK和RTX服务器在同一台机器上
以下是官方代码,是开发环境和RTX服务器在同一台机器上的情况。
1 string strName = HttpContext.Current.Request.QueryString["user"]; 2 string strSign = HttpContext.Current.Request.QueryString["sign"]; 3 4 5 RTXSAPILib.IRTXSAPIRootObj RootObj = new RTXSAPILib.RTXSAPIRootObjClass(); 6 RTXSAPILib.IRTXSAPIUserAuthObj2 AuthObj2 = (RTXSAPILib.IRTXSAPIUserAuthObj2)RootObj.UserAuthObj; 7 8 Response.Write(strName); 9 Response.Write(strSign); 10 11 bool bOK = AuthObj2.SignatureAuth(strName, strSign); 12 13 if (bOK == true) 14 { 15 Response.Redirect("OA.html"); 16 } 17 else 18 { 19 Response.Redirect("error.html"); 20 }
2>开发环境和RTX服务器在不同机器上,即RTX Server SDK和RTX服务器在不同机器上
在不同的机器上需要做一下修改。
第一,修改代码,只需对官方代码稍作修改,指定RTX服务的ip和端口;
第二,修改RTX服务器端配置,默认RTX 服务器只允许本机调用SDK,如果其他的机器需要调用,必须修改RTX 服务器安装目录SDKproperty.xml文件,添加节点
<ip>RTX Server SDK的ip</ip>,
第三,重启RTX服务器让配置生效。
1 string strName = HttpContext.Current.Request.QueryString["user"]; 2 string strSign = HttpContext.Current.Request.QueryString["sign"]; 3 4 5 RTXSAPILib.IRTXSAPIRootObj RootObj = new RTXSAPILib.RTXSAPIRootObjClass(); 6 RTXSAPILib.IRTXSAPIUserAuthObj2 AuthObj2 = (RTXSAPILib.IRTXSAPIUserAuthObj2)RootObj.UserAuthObj; 7 8 Response.Write(strName); 9 Response.Write(strSign); 10 11 RootObj.ServerIP = "192.168.0.88"; 12 RootObj.ServerPort = 8006; 13 bool bOK = AuthObj2.SignatureAuth(strName, strSign); 14 15 if (bOK == true) 16 { 17 Response.Redirect("OA.html"); 18 } 19 else 20 { 21 Response.Redirect("error.html"); 22 }
时间: 2024-11-05 13:56:07