2011-01-25 65 views
1

我有一個winform應用程序,需要我檢查我們的Wiki是否存在頁面。但是,該查詢需要傳遞用戶網絡憑據。獲取用戶Winform應用程序中的NT憑據

我不想硬編碼我的憑證,也不希望用戶每次使用它時都必須操作App.config(還有他們必須在App中公開其密碼的問題。配置)。有沒有一種方法可以獲取當前用戶的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/zh-cn/library/system.net.credentialcache.defaultnetworkcredentials%28v=vs.80%29.aspx。只適用於NTLM /協商/ Kerberos。 – sisve 2011-01-25 20:22:15

0

如果「維基」,你的意思的MediaWiki部署,然後可悲的是你需要用戶名和密碼。

不幸的是你不能從Windows獲得它,因爲即使是Windows操作系統本身也不知道的密碼。它只是存儲密碼的散列。

順便說一下,爲什麼每次用戶啓動應用程序時都不要求用戶的用戶名/密碼?

相關問題