2011-12-21 30 views
4

は、私は自分のドメイン(そのC#のコードで)デフォルトの資格情報を取得していますか?

このページ別のページへの要求を行うにページA.aspxを持っている。(B.aspx)。 - また、自分のドメインに

あるサイト全体が特定のアカウントに自分のウェブサイトで偽装を使用して認証

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... 

どうすればいいですか?

答えて

6

私はこれをWinFormsで行う必要がありました。

System.Net.CredentialCache.DefaultNetworkCredentials 

または

System.Net.CredentialCache.DefaultCredentials 
+0

んCredentialCacheがdefaultcredentialsのようなものです:それはあまりにもあなたのために働くかもしれませんか? –

+0

彼が正しいです、静的プロパティDefaultCredentialsはUseDefaultCredentialsをtrueに設定したときにフレームワークが内部的に使用しているものです。 – TheMissingLINQ

関連する問題