将请求作为服务帐户发送到 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 响应)。

如果我在本地同时拥有两个应用程序,那么它就会按预期工作。

知道我可能错过了什么吗?

将请求作为服务帐户发送到 WebAPI

有点犹豫要接受这个作为答案,因为我还不知道根本原因; 但是,我遇到的问题已通过模拟不同域上的帐户来解决。