WCF Windows身份验证+服务器上的控制台应用程序

时间:2012-11-23 13:17:08

标签: wcf windows-authentication

我有以下设置:

  1. WPF客户端调用WCF SerivceA。这里我使用基本HTTP绑定进行Windows身份验证。

  2. SerivceA将从一个UNC路径调用一个批处理文件(.bat或您可以说.exe文件)。这有效。批处理因此exe内部调用它执行。

  3. 执行的exe现在调用ServiceB。在这里,它失败了。错误是: HTTP请求未经授权使用客户端身份验证方案“Negotiate”。从服务器收到的身份验证标头是“Negotiate”。

  4. 这似乎exectued exe无法通过AD用户帐户。它通过以下: IIS APPPOOL \ user1,它不是AD用户,这就是它失败的原因。

    为了解决这个问题,我尝试在ServiceA上进行模拟,因此我可以在调用者的凭据下调用批处理文件。但没有运气。我也试过了代表团。

    这里有什么问题?

2 个答案:

答案 0 :(得分:0)

您没有解释您执行委派或模拟的IPrincipal,但只有在为其配置了相关服务器时才能使用委托,否则它只接受执行请求的最小权限帐户。

答案 1 :(得分:0)

我最终为IIS创建了一个特定用户并将其注册为应用程序池。所以现在默认情况下,这样的操作是在这个用户的身份下完成的,一切正常。