使用HTTP Web请求发送HTTP标头以进行NTLM身份验证

bla*_*ade 8 c# asp.net sharepoint ntlm

我想登录到一个Sharepoint门户,它会打开一个登录对话框但是正在使用NTLM身份验证.如何修改C#中的HTTP标头以成功登录请求?我假设我需要对门户网站登录部分中的页面进行HTTPWebRequest并发布HTTP头集合?

Joh*_*zen 22

您可以使用WebRequest类执行此操作.

WebRequest req = WebRequest.Create(tokenUri);
req.AuthenticationLevel = System.Net.Security.AuthenticationLevel.MutualAuthRequested;
req.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;
WebResponse resp = req.GetResponse();
StreamReader reader = new StreamReader(resp.GetResponseStream());
var token = reader.ReadToEnd().Trim();
Run Code Online (Sandbox Code Playgroud)

此代码将整个响应读入一个名为的变量token.

  • 尝试这个时,我得到`远程服务器返回错误:(401)Unauthorized.相同的URL /用户/密码适用于Firefox.通过HTTP的NTLM (8认同)