【发布时间】:2013-02-02 09:56:33
【问题描述】:
我在从 Web 应用程序中调用 Web 服务时遇到了一些问题,我希望这里的人能够提供帮助。据我所知,这似乎与 Kerberos double-hop issue 有关。但是,如果是这样,我不确定该怎么做才能真正解决问题。更难的是,我没有适当的权限来更改 Active Directory 帐户,因此我需要知道在请求更改时要询问什么。在我的情况下,我需要将凭据(集成 Windows 身份验证)从 Web 应用程序传递到后端 Web 服务,以便 Web 服务在正确的用户上下文下运行。
这是我的确切问题:
这行得通
这不起作用
工作场景和非工作场景之间的唯一区别在于,工作场景是在本地主机上运行应用程序(无论是开发人员的 PC 还是在相关的服务器上),而非工作场景是在本地主机上运行应用程序。工作示例正在另一台机器上运行。两种场景之间的代码完全相同。
我的尝试
- 为每个服务器运行应用程序池的域帐户添加 SPN
setspn -a http/server1 DOMAIN\account - 不同的模仿方法
- 删除模拟代码
using(...)并作为应用程序池帐户执行Web 服务调用。这按预期工作。
有没有人知道我可以做些什么来解决这个问题?
【问题讨论】:
-
酷图让问题更容易理解 - 谢谢!
标签: asp.net wcf impersonation kerberos