2012-11-09 72 views
0

我们需要在托管Windows环境中实现Rich Client的桌面SSO(某些Vista计算机,使用Win 2008 Citrix后端的Citrix客户端)。桌面SSO客户端(基于C/C++),基于Kerberos的身份验证(服务器端是Java和MS AD)的参考实现

胖客户端(用C/C++编写)使用SOAP Web服务连接到服务器。服务器是在JBoss EAP上运行的Java应用程序。用户数据存储在Microsoft ActiveDirectory中。 ADFS 2.0不适用于我们。富客户端不使用Internet Explorer组件。

我们计划在服务器端使用PicketLink。 但是,核心问题是:我们如何将SSO注入到C/C++客户端?我们使用哪些API?我的理解是我们需要阅读客户端中的Kerberos令牌,但我希望避免手动实现所有Kerberos交互。 Windows API中是否有任何抽象层?任何第三方库?

也许有一个开源参考实现或产品展示了如何在托管Windows环境中实现基于Kerberos的富客户端SSO?

任何意见将非常感激!

非常感谢!

回答

0

如果您使用HTTP作为您的SOAP传输,您可以简单地使用Microsoft的WinHTTP。它拥有开箱即用的SPNEGO支持。这些门票将被JGSS高兴地接受。如果您确实需要了解如何在客户端使用SSPI,请查看libneon或libserf的C源代码。但是所有这三个库都将使用SPNEGO开箱即用的HTTP。

注意:霓虹将需要一个小补丁,但是这个可以在邮件列表中找到。 注2:我认为其他一切都有效:域名,dns,帐号,spns等等。

相关问题