0

我正在使用 WCF 服务,确保必须为每个请求提供用户名/密码。我需要使用来自许多客户端的相同服务,但我需要模拟调用以访问每个客户端的适当资源。当我直接从客户端调用服务时没有问题,因为我为每个客户端使用了他们的 web.config 中定义的一对用户名/密码。当我需要使用相同的身份从第一个调用中调用第二个 Web 服务时,问题就出现了。这第二个 Web 服务需要用户名/密码,但我只知道调用者 (UserName) 是谁而不知道密码。

如何在不知道相应用户名密码的情况下模拟第二次通话?

编辑:该应用程序(Web 应用程序和服务)在共享托管环境中运行,我无法使用 Windows 身份验证来配置 Kerberos 以进行委派。我已经定义了一个 UserNameValidator 来针对自定义 SQLServer 数据库在每次调用时处理 UserName/Password 对。此外,该应用程序的目标客户将通过 Internet 使用它,而不需要 Windows 帐户,这是因为我需要更灵活、基于 SQL 的身份验证模式。

4

2 回答 2

0

您是否查看过声明性安全选项?Juval Lowy 的链接文章还包括一个互联网应用场景。

于 2010-11-26T14:56:57.060 回答
0

您需要考虑使用Kerberos来处理将身份验证从您的第一个 WCF 服务传递到其他服务。

于 2010-11-26T07:37:16.470 回答