C# System.Net.CredentialCache和HttpWebResponse

C# System.Net.CredentialCache和HttpWebResponse,c#,.net,windows,credentials,httpwebresponse,C#,.net,Windows,Credentials,Httpwebresponse,我正在尝试编写一些功能,用户可以使用自己的Windows凭据或指定一些用户、密码和域登录到远程服务器 为了知道如何做,我阅读了这个链接[1] 我已经能够通过CredentialCache.DefaultCredentials成功登录 然而,每当我试图通过用户、名称、密码和域进行身份验证时,我总是会收到一个401错误 在谷歌搜索和搜索之后,我发现了一些可能的错误(重定向,不同的身份验证类型{basic,digest,ntlm,协商),甚至相反的情况[即可以通过用户+pasword登录,但不能通过C

我正在尝试编写一些功能,用户可以使用自己的Windows凭据或指定一些用户、密码和域登录到远程服务器

为了知道如何做,我阅读了这个链接[1]

我已经能够通过
CredentialCache.DefaultCredentials
成功登录

然而,每当我试图通过用户、名称、密码和域进行身份验证时,我总是会收到一个401错误

在谷歌搜索和搜索之后,我发现了一些可能的错误(重定向,不同的身份验证类型{
basic
digest
ntlm
协商
),甚至相反的情况[即可以通过用户+pasword登录,但不能通过
CredentialCache.DefaultCredentials
])

有什么提示吗

编辑:也许一些代码会给你一些关于我做错了什么的线索

static void Main(string[] args)
{
    string password = "password", username = "Username", dom = "DOMAIN";
    string url = "http://my.url.com/LoginWithNativeCredentials?";

    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);

    /////// Different User code////
    NetworkCredential credentials = new NetworkCredential(username, password, dom);
    CredentialCache cache = new CredentialCache();
    cache.Add(new Uri(url), "NTLM", credentials);
    request.Credentials = cache;
    /////////////////////////

    ////// Current Windows user's credential
    //request.Credentials = CredentialCache.DefaultCredentials;
    /////////////////////////

    request.AllowAutoRedirect = true;
    request.CookieContainer = new CookieContainer(5);

    using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
    {

        Console.WriteLine("In!");
    }

    Console.WriteLine("Done!");
    Console.ReadLine();
}
非常感谢


[1]

远程web应用程序的身份验证设置是什么?