将请求作为服务帐户发送到 WebAPI
本文关键字:WebAPI 请求 服务 | 更新日期: 2023-09-27 17:57:23
我有两个应用程序。
- 两者在同一台服务器上
- 两者都作为同一服务帐户运行
- 两者都需要窗口身份验证
我正在尝试使用HttpClient通过简单的post请求从一个应用程序到另一个应用程序;但是,该身份似乎没有被使用。
我正在使用的内容如下所示:
var testIdentity = System.Security.Principal.WindowsIdentity.GetCurrent();
var handler = new HttpClientHandler()
{
UseDefaultCredentials = true
};
using (var client = new HttpClient(handler))
{
//...
HttpResponseMessage respose = client.PostAsJsonAsync("api/controller/Method", request);
response.EnsureSuccessStatusCode(); // Exception here!
//...
}
我已经验证testIdentity
是我想要运行的服务帐户,但它似乎没有成功。我总是收到 401 回复。
我还在本地(但相同的域)和服务器上测试了发送请求的应用程序和 WebAPI,但这也不起作用(相同的 401 响应)。
如果我在本地同时拥有两个应用程序,那么它就会按预期工作。
知道我可能错过了什么吗?
有点犹豫要接受这个作为答案,因为我还不知道根本原因; 但是,我遇到的问题已通过模拟不同域上的帐户来解决。