1

我正在创建一个带有表单身份验证的 MVC 应用程序。我已将应用程序设置为针对 Active Directory 进行身份验证。这成功了。

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

这引发了几个问题:

  • 如果 Forms Auth 应用程序针对 Active Directory 进行身份验证,我能否在 Forms Auth 应用程序中执行 WindowsIdentity Impersonation?

  • 使用 Impersonation 时阻止代码找到我的 Web 服务的原因是什么,我该如何解决?

谢谢你的帮助。

4

1 回答 1

1

找到了我的问题的答案,所以发布以防其他人遇到同样的问题。

要在使用 Forms Auth 时执行模拟,您需要具有约束委派的协议转换。这篇文章非常适合告诉您完成设置所需的步骤。一旦正确实施,Impersonation 将按预期工作并且服务 URL 被正确解析。

于 2013-10-18T09:48:38.633 回答