2011-01-25 31 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操作系统本身也不知道的密码。它只是存储密码的散列。

顺便说一下,为什么每次用户启动应用程序时都不要求用户的用户名/密码?

相关问题