我需要調用在Windows域中運行的Web服務,該域與運行(Windows窗體)客戶端的Windows服務器不同。Web服務使用Windows身份驗證進行安全保護。如何使用存儲的憑據調用Web服務?
Web服務域的域憑證保存在客戶端的用戶配置文件(保存的用戶名和密碼在XP中),但我一直無法弄清楚如何在調用Web服務時使用這些保存的憑證。我發現很多的例子使用
WebService1.Credentials = System.Net.CredentialCache.DefaultCredentials
(這不起作用,因爲它是本地域的憑據)
或
WebService1.Credentials = new NetworkCredentials(username, pwd, domain)
(分別爲用戶名,密碼,域是硬編碼的)。
我使用CredEnumerate
和CredRead
使用Windows API讀了,但不知道如何(或者如果)我可以一個PCREDENTIAL
轉換爲管理NetworkCredential
(ReadCred
不會爲存儲域憑據返回密碼)
有沒有人在這裏知道如何做到這一點?
謝謝!