如何从我自己的应用程序与kerberos服务器进行交互

时间:2009-01-04 17:54:46

标签: authentication kerberos access-control gssapi

我的网络有一个用于用户名/密码验证的kerberos服务器。运行我的应用程序的机器具有正常运行的kerberos客户端,因此用户可以使用kinit等。

如何以自己的自定义应用程序以编程方式与服务器进行交互?示例的首选语言是C.

我希望我的应用程序的用户在访问某些功能之前对kerberos服务器进行身份验证。我预计不得不问他们的用户名和密码 - kinit可能没有被调用。

托管应用程序的计算机运行OS X和Debian / Linux。

我相信答案很可能涉及GSSAPI。如果是这样,有没有很好的教程呢?

3 个答案:

答案 0 :(得分:3)

答案 1 :(得分:1)

看看Heimdal,他们有一个广泛的kerberos API,下面的网站有一个很好的doxygen安装来描述API。

http://www.h5l.org

答案 2 :(得分:0)

GSSAPI确实是推荐的方法,但具体细节取决于您的语言环境以及是否需要与Windows互操作。你的kerberos提供商是Windows还是别的什么?

在Windows上,Kerberos是操作系统支持的本机协议,许多高级Win32 API将有效地免费提供给您。使其与非Windows kerberos服务器互操作是可能的,但不是微不足道的。

在UNIX上,您可能首先需要安装kerberos客户端支持并使其正常工作 - 但如果您的网络已经有kerberos服务器,则可能已经为您完成了此操作。

Windows包括GSSAPI的实现,Java也是如此,大多数UNIX风格都有实现。我相信GSSAPI插件也适用于PHP。

如果您可以根据自己的要求添加更多细节,我可以稍微确定一下这个答案。