当前用户';C#应用程序中的Windows(Active Directory凭据)
我创建了一个WebProxy,如下所示:当前用户';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 = 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,后者是首选的跨供应商行业标准身份验证协议。