I have following setup:
-
WPF client calls WCF SerivceA. Here I have windows authentication with Basic HTTP Binding.
-
The SerivceA will invoke one batch file (.bat or you can say .exe file) from one UNC path. This works. Batch and thus exe called inside it executes.
-
The executed exe now calls to ServiceB. Here, it fails. The error is:
The HTTP request is unauthorized with client authentication scheme ‘Negotiate’. The authentication header received from the server was ‘Negotiate’.
This seems that exectued exe fails to pass the AD user account. It passes following:
IIS APPPOOL\user1 which is not AD user and that is why it fails.
To solve this, I tried impersonation at ServiceA, so I can invoke the batch file under caller’s credentials. But no luck. I also tried delegation as well.
What is the issue here?
I ended up creating a specific user for IIS and registred it for application pool. So now by default, such operations are done under this users’s identity and everything works fine.