我有以下设置:
WPF 客户端调用 WCF SerivceA。在这里,我使用基本 HTTP 绑定进行 Windows 身份验证。
SerivceA 将从一个 UNC 路径调用一个批处理文件(.bat 或您可以说是 .exe 文件)。这行得通。批处理,因此在其内部调用的 exe 执行。
执行的 exe 现在调用 ServiceB。在这里,它失败了。错误是:HTTP 请求未经客户端身份验证方案“协商”授权。从服务器收到的身份验证标头是“协商”。
这似乎执行的 exe 无法通过 AD 用户帐户。它通过以下: IIS APPPOOL\user1 不是 AD 用户,这就是它失败的原因。
为了解决这个问题,我尝试在 ServiceA 进行模拟,这样我就可以在调用者的凭据下调用批处理文件。但没有运气。我也尝试过委托。
这里有什么问题?