获取默认凭据?

6

我在我的域中有一个页面A.aspx

这个页面(在它的C#代码中)向另一个页面(B.aspx)发出请求。 - 这个页面也在我的域中

整个网站都是使用Windows身份验证

HttpWebRequest loHttp = (HttpWebRequest)WebRequest.Create("http://mydom.com/b.aspx");
loHttp.UseDefaultCredentials = true;
loHttp.Timeout = 100000;
HttpWebResponse loWebResponse = (HttpWebResponse)loHttp.GetResponse();
Encoding enc = Encoding.GetEncoding("UTF-8");  // Windows default Code Page
StreamReader loResponseStream = new StreamReader(loWebResponse.GetResponseStream(), enc);
string lcHtml = loResponseStream.ReadToEnd();
loWebResponse.Close();
loResponseStream.Close();
return lcHtml;

我在我的网站中使用模拟登录来访问特定账户。

该账户通过以下语句进行传递:

 loHttp.UseDefaultCredentials = true;

一切都很好......

然而,我想看到那些凭据(我需要他们的“获取”)

我知道当前线程帐户(受模拟影响)是由以下方式给出的:

WindowsIdentity.GetCurrent().Name

但是我想要查看UseDefaultCredentials中的值!类似于:

DefaultCredentials.getCurrent.username
DefaultCredentials.getCurrent.password...

如何做到这一点?
1个回答

9

我曾经在WinForms中做过类似的事情,这个方法可能对你也有用:

System.Net.CredentialCache.DefaultNetworkCredentials

或者

System.Net.CredentialCache.DefaultCredentials

CredentialCache和DefaultCredentials类似吗? - Royi Namir
1
他是正确的,当你将UseDefaultCredentials设置为true时,静态属性DefaultCredentials就是框架内部使用的。 - TheMissingLINQ

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接