当前用户';C#应用程序中的Windows(Active Directory凭据)

当前用户';C#应用程序中的Windows(Active Directory凭据),c#,active-directory,C#,Active Directory,我创建了一个WebProxy,如下所示: WebProxy webProxy = new WebProxy(HttpProxyUtil.ProxyHost, HttpProxyUtil.ProxyPort??80); WebRequest.DefaultWebProxy = webProxy; if (HttpProxyUtil.ProxyAuth == ProxyAuthType.MANUAL) { WebRequest.DefaultWebProxy.Credentials = H

我创建了一个WebProxy,如下所示:

WebProxy webProxy = new WebProxy(HttpProxyUtil.ProxyHost, HttpProxyUtil.ProxyPort??80);
WebRequest.DefaultWebProxy = webProxy;
if (HttpProxyUtil.ProxyAuth == ProxyAuthType.MANUAL) 
{
    WebRequest.DefaultWebProxy.Credentials = HttpProxyUtil.GetCredentials();
}
我们的
HttpProxyUtils.GetCredentials()
方法:

public static ICredentials GetCredentials()
{
    if (!string.IsNullOrWhiteSpace(ProxyAuthDomain))
    {
         return new NetworkCredential(User, Password, ProxyAuthDomain);
    }
    else
    {
        // anything else, just need user/password
       return new NetworkCredential(User, Password);
    }
}
这对于手动代理(指定用户和密码)非常有效

但是,我还需要支持静默身份验证。我们有一个已登录的Windows用户,我需要获取他/她的用户ID和密码,并将其传递给
WebProxy


我在努力让它工作。有人有什么想法或建议吗?谢谢

你不能通过这种方式获得密码。只是没有。您可以得到的是一个由域控制器签名(因此可以根据域控制器进行验证)的令牌,域控制器将告诉您用户名。@JoelCoehoorn我不需要密码。。。我只需要能够使用凭据对代理服务器进行身份验证。我能找到什么办法?提前感谢。对于静默身份验证,您需要使用NTLM或Kerberos,后者是首选的跨供应商行业标准身份验证协议。您无法通过这种方式获取密码。只是没有。您可以得到的是一个由域控制器签名(因此可以根据域控制器进行验证)的令牌,域控制器将告诉您用户名。@JoelCoehoorn我不需要密码。。。我只需要能够使用凭据对代理服务器进行身份验证。我能找到什么办法?提前感谢。对于静默身份验证,您需要使用NTLM或Kerberos,后者是首选的跨供应商行业标准身份验证协议。