【问题标题】:Windows authentication failing on server side webapi call服务器端 webapi 调用上的 Windows 身份验证失败
【发布时间】:2017-06-07 13:13:32
【问题描述】:

我有一个托管在 IIS8 上的 MVC 5 Web 应用程序,它通过 Windows 身份验证进行保护。该应用程序有一个 WebApi2 控制器,我通过 MVC 控制器从其自身调用服务器端,但是在进行调用(POST 动词)时我不断收到 401 Unauthorized。

var client = new HttpClient();
var response = client.PostAsJsonAsync(url, dto).Result;

我尝试过但没有成功的事情:

想知道其他人是否有任何建议/以前见过这个问题?

【问题讨论】:

  • 你是怎么打电话的?如果您使用 http 调用另一个控制器方法,则需要发送授权标头。
  • 我已经用我用来调用 api 端点的代码更新了问题
  • 好的,是的,这是一个 HTTP 调用。 ASP.Net 安全上下文不会通过 HTTP 进行转换,因此您需要添加适当的授权标头。
  • 好的,谢谢艾米。我会调查的:)

标签: asp.net-mvc asp.net-web-api2 windows-authentication iis-8


【解决方案1】:

在实例化我的 HttpClient 时,此解决方案对我有用。

            var clientHandler = new HttpClientHandler()
            {
                Credentials = CredentialCache.DefaultNetworkCredentials
            };
            var client = new HttpClient(clientHandler);

【讨论】:

    猜你喜欢
    • 2020-06-17
    • 1970-01-01
    • 2012-05-31
    • 2022-08-16
    • 2017-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多