c++ - 使 SASL(带有 GSSAPI)启用客户端和服务器并使用 LDAP+kerberos 作为身份验证器? (SSO 系统上的单点登录)

标签 c++ c kerberos openldap sasl

我已成功安装 ldap 和 kerberos。我还能够使用 SASL/GSSAPI 编写一个简单的 C 程序来搜索我的 ldapserver 中的数据?

但是我没有找到任何关于如何在客户端服务器系统中使用单点登录功能的文章(我可以轻松理解)?我什至不确定 SSO 中客户端和服务器之间的通信是如何发生的。

服务器如何知道客户端是有效的客户端?
是否有任何示例/教程来制作这样的系统?

编辑: 服务器可以像从经过身份验证的客户端接收问候一样简单。因此客户端应该有 kerberos 票证,服务器应该验证票证是否有效。

最佳答案

我可以使用 MIT 提供的库和 dll 来编译 gsspapi 程序。 我需要的文件是gsskrb5.dll,gssapi32.lib,comerr32.lib

这些将取决于编译它们的 kerberos 版本,但我成功编译了 mit http://web.mit.edu/macdev/KfM/KerberosFramework/Kerberos5/Tools/GSSExample/ 给出的示例。经过一些调整后使用 MinGW gcc 编译器。

但是我无法使用微软的 SSPI api 成功通信(这可能是由于我缺乏知识)

关于c++ - 使 SASL(带有 GSSAPI)启用客户端和服务器并使用 LDAP+kerberos 作为身份验证器? (SSO 系统上的单点登录),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18152523/

相关文章:

java - 通过 urlconnect 进行 Kerberos 凭证委托(delegate)?

c++ - 弥合 OpenGL 和操作系统之间的差距

c++ - GPSD读数hdop

c - 使用 CLOCK_REALTIME 的内核 4.X 的纳秒精度可变计时器

C - 使用指针向上移动数组元素

c - GTK 和 plplot 的例子?

C++ 到 IDL 工具

C++ - 调整动态数组的大小

c++ - 通过 kerberos 或任何安全协议(protocol)向 Windows 服务器应用程序验证 linux 客户端应用程序

sql-server - Kerberos 双跳