2011-01-25 2 views
1

私はWikiにページが存在するかどうかを確認する必要があるwinformアプリケーションを持っています。ただし、そのクエリでは、ユーザーのNetWork資格情報を渡す必要があります。Winform AppでNTクレデンシャルを取得する

私は自分の資格情報をハードコードしたくないし、他の誰かがそれを使用するたびにApp.configを操作する必要もない(アプリケーションのパスワードを公開する必要があるという問題もある)。 Config)。現在のユーザーのNT資格情報を取得する方法はありますか?私はそれを参照してくださいする必要があります(つまり、明らかなセキュリティ上の問題になります)、私は次のコード行のためにそれを必要としない:

HttpWebRequest WikiPageRequest; 
WikiPageRequest.Credentials = new NetworkCredential("user", "pass", "dom"); 
//maybe do something like this 
WikiPageRequest.Credentials = GetNTCredentials(); 

答えて

3

CredentialCache.DefaultCredentialをお試しいただけますか?それはあなたに現在ログインしているユーザー資格情報を取得するようです。

+0

またはhttp://msdn.microsoft.com/en-us/library/system.net.credentialcache.defaultnetworkcredentials%28v=vs.80%29.aspx。 NTLM/Negotiate/Kerberosでのみ動作します。 – sisve

+0

この資格は、サイトがIIS上にあり、 "Windows認証"を使用している場合に機能します。 –

+0

はい、これは機能しました。ありがとう、トン! – xbonez

0

「ウィキ」によって、あなたはMediaWikiのの展開を意味する場合には、残念ながら、ユーザーIDとパスワードが必要です。

残念ながら、Windows OS自体でさえ、のパスワードを知らないため、Windowsから取得できません。パスワードのハッシュを保存するだけです。

ところで、ユーザーがアプリを起動するたびに、wikiのユーザーID /パスワードを尋ねないのはなぜですか?

関連する問題