Linux上连接到Windows Server 2012的cURL的SingleSignOn

时间:2017-06-01 05:12:27

标签: linux curl kerberos ntlm gssapi

我正在开发一个跨平台应用程序,它将连接到在Windows服务器2012上运行的代理服务器。访问代理服务器的凭据将是系统凭据,因此用户没有手动输入凭据。我有Windows和Linux机器连接到Windows服务器域,WS 2k12中有DNS条目。我能够使用WinHTTP API(NTLM)在Windows上完成上述要求。在Linux上,我使用的是cURL。我读到了用gssapi构建cURL并在Linux机器上设置kerberos,但我认为用户必须对他/她的系统进行重大更改,我不确定服务器端是否也需要进行一些更改。是否有任何方法可以实现此功能,以便在Linux机器上使用应用程序时,用户必须对其进行最小的更改?

1 个答案:

答案 0 :(得分:0)

Linux环境的变化相当于加入Windows域。通常情况下,machime应该只需要/etc/krb5.conf中的正确内容。它是系统管理员提供它的工作。如果他们想要使用任何Windows域服务,用户将希望进行此更改。

如果您认为更改/etc/krb5.conf在您的环境中不可行,您可以通过设置KRB5_CONFIG环境变量来覆盖应用程序中的此位置,并自行查看此文件。如果这样做,您可能还想覆盖其他Kerberos位置,如KRB5CCNAME,以便将应用程序与任何系统范围的Kerberos设置完全隔离。

要登录并能够使用SSO,用户必须使用kinit命令。如果您愿意,您的应用可以代表用户启动此命令。