Hello其他程序员!我需要你帮助解决我似乎无法解决的问题。我有一个使用IIS托管在虚拟机(VM 2)上的REST Web服务,当直接调用时,一切正常。我得到了所有需要的数据,每个人都很开心。 请注意,此Web服务需要Windows凭据才能运行。
现在,此Web服务也将由使用IIS的另一个虚拟机(VM 1)上托管的大型Web应用程序使用。这里出现了问题,当使用这个Web应用程序时,每当我想访问在后端发送Web服务的页面时,我都会收到一个即时错误401:无法获取用户配置文件(未授权未授权)
情况架构:
我用Google搜索了很多不同的东西。我试图冒充电话但没有成功。
以下是如何构建Web应用程序的请求:
public UserProfile GetProfile()
{
var wi = (WindowsIdentity)HttpContext.Current.User.Identity;
var wic = wi.Impersonate();
try
{
var request = new RestRequest("profile")
{
Method = Method.GET,
JsonSerializer = RestJsonSerializer.Default,
UseDefaultCredentials = true,
};
var response = this.client.Execute(request);
if (response.StatusCode != HttpStatusCode.OK)
{
throw new Exception(
$"Could not get the user profile ({response.StatusCode} {response.StatusDescription})");
}
return RestJsonSerializer.Default.Deserialize<UserProfile>(response);
}
finally
{
wic.Undo();
}
}
Web服务和Web应用程序的IIS设置为:
非常感谢任何帮助或提示:)