据我所知,Kerberos 的性能比 NTLM 更好。
但有人有任何数据或经验表明它有多好吗?
我最近学习了 Go,我正在尝试使用这个net/http库。我一直在尝试使用该http.SetBasicAuth功能对网站进行身份验证,但似乎从未奏效。它适用于cURL但不适用于 Go。我知道这与此有关,NTLM但我不知道如何解决问题
卷曲:
curl -v "http://server_that_im_trying_to_auth_with" --ntlm -u user:pass
走:
req, _ := http.NewRequest("GET", "url", nil)
req.SetBasicAuth(user, pass)
resp, _ := http.DefaultClient.Do(req)
body, _ := ioutil.ReadAll(resp.Body)
Run Code Online (Sandbox Code Playgroud)
身体不断返回网站 401 页。
使用 PowerShell 远程处理(Invoke-Command例如使用 cmdlet)时,需要身份验证方案。
选项包括 Kerberos、CredSSP、NTLM 和 Negotiate。
它们之间有什么区别?我应该用什么?
我了解基本和摘要身份验证。但是我已经搜索了很多,并且在 NTLM、身份验证和协商方面遇到了困难。
我认为,如果我错了,请纠正我,NTLM 和身份验证是同一协议的两个术语。
协商首先尝试 NTLM,然后回退到消化,然后回退到基本连接。
那是对的吗?如果是这样,哪里有一个很好的例子,说明如何在 C# 中连接仅用于 NTLM 和协商。
我有两个用例。首先是我需要拉下一个文件。所以发出一个请求,得到一个 XML 文件作为响应,读下来,完成。
第二个是查询 OData 成百上千个 Web 请求,每个请求都将提供 JSON(或 XML)作为响应。