我的网络有一个用于用户名/密码验证的kerberos服务器。运行我的应用程序的机器具有正常运行的kerberos客户端,因此用户可以使用kinit等。
如何以自己的自定义应用程序以编程方式与服务器进行交互?示例的首选语言是C.
我希望我的应用程序的用户在访问某些功能之前对kerberos服务器进行身份验证。我预计不得不问他们的用户名和密码 - kinit可能没有被调用。
托管应用程序的计算机运行OS X和Debian / Linux。
我相信答案很可能涉及GSSAPI。如果是这样,有没有很好的教程呢?
答案 0 :(得分:3)
Sun在他们的书Solaris Security for Developers Guide中介绍了这一点。对您有用的可能是Appendix A - Sample C-based GSSAPI programs和Chapter 5 - GSS-API Client Example。
答案 1 :(得分:1)
看看Heimdal,他们有一个广泛的kerberos API,下面的网站有一个很好的doxygen安装来描述API。
答案 2 :(得分:0)
GSSAPI确实是推荐的方法,但具体细节取决于您的语言环境以及是否需要与Windows互操作。你的kerberos提供商是Windows还是别的什么?
在Windows上,Kerberos是操作系统支持的本机协议,许多高级Win32 API将有效地免费提供给您。使其与非Windows kerberos服务器互操作是可能的,但不是微不足道的。
在UNIX上,您可能首先需要安装kerberos客户端支持并使其正常工作 - 但如果您的网络已经有kerberos服务器,则可能已经为您完成了此操作。
Windows包括GSSAPI的实现,Java也是如此,大多数UNIX风格都有实现。我相信GSSAPI插件也适用于PHP。
如果您可以根据自己的要求添加更多细节,我可以稍微确定一下这个答案。