使用模拟消费Web服务:无法解析远程名称

时间:2013-10-16 10:07:41

标签: asp.net-mvc web-services asp.net-web-api impersonation

我正在使用Forms身份验证创建MVC应用程序。我已将应用程序设置为针对Active Directory进行身份验证。这很有效。

我现在需要我的应用程序在我的域中使用Web Api Web服务。当我使用Impersonation时,永远不会调用该服务,并且对象检查显示以下内容:无法解析远程名称。这是HttpClient,RestSharp和WebClient的情况。如果我删除模拟,代码会成功运行(但不会像登录用户那样)。

这引发了几个问题:

  • 如果Forms Auth应用程序针对Active Directory进行身份验证,是否可以在Forms Auth应用程序中执行WindowsIdentity模拟?

  • 在使用模拟时阻止代码查找我的网络服务会发生什么?如何解决此问题?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

找到我的问题的答案,以便在其他人遇到同样的问题时发布。

要在使用Forms Auth时执行模拟,您需要具有约束委派的协议转换。 This article非常善于与您讨论设置此步骤所需的步骤。正确实施后,模拟将按预期工作,并正确解析服务URL。