Linux上的cURL连接到Windows Server 2012的SingleSignOn
问题描述:
我正在开发一个跨平台的应用程序,它将连接到在Windows Server 2012上运行的代理服务器。访问代理服务器的凭据将是系统凭据,以便用户不会不必手动输入凭据。我将Windows和Linux计算机连接到Windows服务器域,并使用WS 2k12中的DNS条目。我能够使用WinHTTP API(NTLM)在Windows上完成上述要求。在Linux上,我使用cURL。我阅读了关于使用gssapi构建cURL并在Linux机器上安装Kerberos的问题,但我认为用户必须对他/她的系统进行重大更改,并且我不确定服务器端是否需要进行某些更改。有没有什么办法可以实现这个功能,这样当用户在Linux机器上使用应用程序时,用户必须对他进行微小的更改?Linux上的cURL连接到Windows Server 2012的SingleSignOn
答
Linux环境中的更改等同于加入Windows域。通常情况下,machime应该只需要/etc/krb5.conf中的正确内容。系统管理员提供它是一项工作。无论如何,如果用户想要使用任何Windows域服务,用户将需要此更改。
如果您认为在您的环境中更改/etc/krb5.conf不是一个可行的选项,您可以通过设置KRB5_CONFIG环境变量并自行验证此文件来覆盖应用程序中的此位置。如果你这样做了,你可能还想覆盖其他Kerberos位置,如KRB5CCNAME,以便将应用程序与任何系统范围的Kerberos设置完全隔离。
为了登录并能够使用SSO,用户必须使用kinit命令。如果您愿意,您的应用程序可以代表用户代表启动此命令。