【发布时间】:2017-12-20 09:26:45
【问题描述】:
我有一个 .Net Core 应用程序(它是一个基于 NUnit 的集成测试),它通过使用 HttpClient 的服务器进行授权。服务器使用 NTLM 进行身份验证。
当我在 Windows 下运行此测试时,它运行良好。 当我在 OSX 下运行此测试时,它告诉我存在身份验证错误。
当我使用 fiddler 查看流量时,我注意到服务器响应带有“401”并告诉客户端它可以使用 NTLM 进行身份验证。在 OSX 下,HttpClient 的反应是返回身份验证错误。
OSX 不支持 NTLM 吗?我能以某种方式解决这个问题吗?
【问题讨论】:
-
NTLM 不受 OSX 官方支持 - 它是 Microsoft 专有协议。对于 Active Directory 的 SSO 协议,请使用 Kerberos。但是您要问的是 NTLM,因此请注意,您在 Internet 上看到的任何 NTLM 模块都是 NTLM 的逆向工程版本,它可能有效,也可能无效,或者在某种程度上有效,但可能不是 100%您正在寻找,具体取决于操作系统平台。对于 OSX,我在这里看到了这个,但我从未测试过:wiki.cac.washington.edu/display/UWWI/…
-
如果你喜欢 OSX 上的 Firefox 网络浏览器,也可以试试这个:src.chromium.org/viewvc/chrome/trunk/src/net/http/…