我们需要在托管的 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?
任何建议将不胜感激!
非常感谢!