0

我们需要在托管的 Windows 环境(一些 Vista 机器,一些带有 Win 2008 Citrix 后端的 Citrix 客户端)中为富客户端实施桌面 SSO。

富客户端(用 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?

任何建议将不胜感激!

非常感谢!

4

1 回答 1

0

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

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

于 2012-11-10T19:38:33.770 回答