OSX上的.Net Core和NTLM

问题描述 投票:0回答:1

我有一个.Net Core应用程序(它是一个基于NUnit的集成测试),使用HttpClient与服务器进行授权。服务器使用NTLM进行身份验证。

当我在Windows下运行此测试时,它工作正常。当我在OSX下运行此测试时,它告诉我存在身份验证错误。

当我使用fiddler观察流量时,我注意到服务器响应为“401”并告诉客户端它可以使用NTLM进行身份验证。在OSX下,HttpClient的反应是返回认证错误。

OSX不支持NTLM吗?我能以某种方式修复此问题吗?

macos ntlm
1个回答
0
投票

我找到了解决方案,我需要这样做:

        var credential = new NetworkCredential(userName, password, domain);
        var myCache = new CredentialCache();
        myCache.Add(new Uri(myURL), "NTLM", credential);

        var handler = new HttpClientHandler();

        handler.Credentials = myCache;

现在它在osx下运行!

但它停止在Windows上工作:-)。

我可以做一个“如果”以确定我是否在osx上......

也许有更好的方法让这个工作在osx和windows上?

© www.soinside.com 2019 - 2024. All rights reserved.