【发布时间】:2009-06-15 01:35:25
【问题描述】:
我需要调用在不同于(Windows 窗体)客户端运行的 Windows 域中运行的 Web 服务。Web 服务使用 Windows 身份验证进行保护。
Web 服务域的域凭据保存在客户端的用户配置文件中(XP 中保存的用户名和密码),但我无法弄清楚在调用 Web 服务时如何使用这些保存的凭据。我发现了很多使用
的例子WebService1.Credentials = System.Net.CredentialCache.DefaultCredentials
(这不起作用,因为它是本地域的凭据)
或
WebService1.Credentials = new NetworkCredentials(username, pwd, domain)
(用户名、密码、域是硬编码的)。
我已阅读使用 Windows API 使用 CredEnumerate 和 CredRead,但不知道如何(或是否)我可以将 PCREDENTIAL 转换为托管 NetworkCredential(ReadCred 赢了'不返回存储域凭据的密码)
这里有人知道怎么做吗?
谢谢!
【问题讨论】:
标签: .net web-services security authentication