Web Interface SDK 最新的版本是5.4,可以在这里下载:
http://www.citrix.com/static/cdn/archivedsdks/webinterfacesdk/5.4/WI5_4_0_SDK.zip
由于客户常常希望将XenApp/XenDesktop的Web访问站点和自己的门户站点集成,因此会使用WI的SDK在自己的门户站点上进行开发。
而很多时候,这些开发出来的站点位于企业内网,客户端通过门户站点访问XenApp/XenDesktop的时候,网络上不会受到什么限制和影响。
一旦用户需要穿过防火墙,通常都建议使用NetScaler作为发布网关。我们知道登录验证可以放在NetScaler上,也可以放在WI上。如果是自己开发的门户,当然不会想放在NetScaler里面。所以大多会选择使用WI的SDK进行登录。而为了让NetScaler网关外部的用户顺利联系内部的私有地址以及1494/2598端口,就需要利用STA通过票据来存取有关的信息。
虽然写着原创,这部分内容来自于Davy Huang。
有关使用WI SDK的STA的信息这篇文章说的很清楚http://stackoverflow.com/questions/603682/how-do-i-code-citrix-web-sites-to-use-a-secure-gateway-csg
ConnectionRoutingPolicy policy = config.getDMZRoutingPolicy();
policy.getRules().clear();
//Set the Secure Ticketing Authorities (STAs).
STAGroup STAgr = new STAGroup();
STAgr.addSTAURL(@"http://CitrixAppServerURL/scripts/ctxsta.dll");
//creat Secure Gateway conenction
SGConnectionRoute SGRoute = new SGConnectionRoute(@"https://CSGURL");
SGRoute.setUseSessionReliability(false);
SGRoute.setGatewayPort(80);
SGRoute.setTicketAuthorities(STAgr);
// add the SGRoute to the policy
policy.setDefault(SGRoute);
在SDK文档中能够找到有关的方法和Class的描述。