使用Windows.Web.Http.HttpClient的NTLM身份验证

迈克尔·萨宾

我正在使用Windows 10 UWP应用程序,该应用程序需要使用NTLM身份验证与IIS服务器通信。我在HttpBaseProtocolFilter中设置用户名和密码:

filter.ServerCredential = new PasswordCredential(uri, UserName, Password);

当我在提琴手中查看请求时,它正在使用基本身份验证。我可以做些什么才能使其使用服务器所需的NTLM?


请求标头:

Content-Length: 1459
Content-Type: text/xml; charset=utf-8
Host: server
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: ClientId=XXXXXXXXX
Authorization: Basic XXXXXXXXX

响应标题:

HTTP/1.1 401 Anonymous Request Disallowed
Server: Microsoft-IIS/8.5
request-id: xxxxx
WWW-Authenticate: NTLM
WWW-Authenticate: Negotiate
X-Powered-By: ASP.NET
X-FEServer: XXXXXXX
Date: Thu, 03 Dec 2015 16:12:58 GMT
Content-Length: 0
Proxy-Support: Session-Based-Authentication
迈克尔·萨宾

简短答案:NTLM身份验证确实可以使用用户名/密码。需要第二次重试连接,因为当服务器需要NTLM时HttpClient正在预发送BASIC身份验证

长答案:我的应用程序联系同一服务器上托管的两个服务。第一个允许基本身份验证,但是第二个仅允许NTLM。首先,我连接到基本身份验证服务,然后连接到NTLM。我假设HttpClient收到WWW-Authenticate: NTLM标头后会自动对NTLM执行重试,但似乎没有。但是,如果我手动重试连接,则HttpClient第二次将执行NTLM身份验证。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Windows.Web.Http.HttpClient + WEB API Windows身份验证

来自分类Dev

Windows.Web.Http.HttpClient + WEB API Windows身份验证

来自分类Dev

在Azure Logic应用中,如何使用NTLM身份验证进行HTTP Get / Post调用?

来自分类Dev

如何使用NTLM身份验证在节点js中调用SOAP Web服务

来自分类Dev

如何使用NTLM身份验证在节点js中调用SOAP Web服务

来自分类Dev

针对Self Host Web API Windows服务对HTTP .NET客户端进行身份验证

来自分类Dev

HttpClient使用NTLM身份验证提供程序提供协商错误

来自分类Dev

避免使用NTLM身份验证方法

来自分类Dev

使用Paw的基本HTTP身份验证

来自分类Dev

带有 NTLM 问题的 Windows 身份验证

来自分类Dev

保护Web API Web服务,Windows身份验证

来自分类Dev

保护Web API Web服务,Windows身份验证

来自分类Dev

如何使用Windows.Web.Http中新的HttpClient下载图像?

来自分类Dev

使用Scrapy进行NTLM身份验证以进行网络抓取

来自分类Dev

使用Angular2的NTLM身份验证

来自分类Dev

在iOS应用中使用SharePoint(NTLM)进行身份验证

来自分类Dev

如何使用HttpClient发布身份验证

来自分类Dev

使用Windows身份验证和Web应用程序的IIS与Web应用程序

来自分类Dev

Web API 2.1 Windows身份验证CORS Firefox

来自分类Dev

如何从web.config正确设置Windows身份验证

来自分类Dev

LiveCycle Web服务(SOAP)NTML / Windows身份验证

来自分类Dev

Windows.Web.Http.HttpClient超时选项

来自分类Dev

如何使用JMeter使用身份验证测试Web服务

来自分类Dev

如何使用JMeter使用身份验证测试Web服务

来自分类Dev

使用HTTP身份验证的Django Haystack连接错误

来自分类Dev

使用Android HTTP POST进行基本身份验证

来自分类Dev

使用Heroku Platform API的基本HTTP身份验证

来自分类Dev

使用camel-http进行HTTPS身份验证设置?

来自分类Dev

使用URLConnection的HTTP基本身份验证

Related 相关文章

  1. 1

    Windows.Web.Http.HttpClient + WEB API Windows身份验证

  2. 2

    Windows.Web.Http.HttpClient + WEB API Windows身份验证

  3. 3

    在Azure Logic应用中,如何使用NTLM身份验证进行HTTP Get / Post调用?

  4. 4

    如何使用NTLM身份验证在节点js中调用SOAP Web服务

  5. 5

    如何使用NTLM身份验证在节点js中调用SOAP Web服务

  6. 6

    针对Self Host Web API Windows服务对HTTP .NET客户端进行身份验证

  7. 7

    HttpClient使用NTLM身份验证提供程序提供协商错误

  8. 8

    避免使用NTLM身份验证方法

  9. 9

    使用Paw的基本HTTP身份验证

  10. 10

    带有 NTLM 问题的 Windows 身份验证

  11. 11

    保护Web API Web服务,Windows身份验证

  12. 12

    保护Web API Web服务,Windows身份验证

  13. 13

    如何使用Windows.Web.Http中新的HttpClient下载图像?

  14. 14

    使用Scrapy进行NTLM身份验证以进行网络抓取

  15. 15

    使用Angular2的NTLM身份验证

  16. 16

    在iOS应用中使用SharePoint(NTLM)进行身份验证

  17. 17

    如何使用HttpClient发布身份验证

  18. 18

    使用Windows身份验证和Web应用程序的IIS与Web应用程序

  19. 19

    Web API 2.1 Windows身份验证CORS Firefox

  20. 20

    如何从web.config正确设置Windows身份验证

  21. 21

    LiveCycle Web服务(SOAP)NTML / Windows身份验证

  22. 22

    Windows.Web.Http.HttpClient超时选项

  23. 23

    如何使用JMeter使用身份验证测试Web服务

  24. 24

    如何使用JMeter使用身份验证测试Web服务

  25. 25

    使用HTTP身份验证的Django Haystack连接错误

  26. 26

    使用Android HTTP POST进行基本身份验证

  27. 27

    使用Heroku Platform API的基本HTTP身份验证

  28. 28

    使用camel-http进行HTTPS身份验证设置?

  29. 29

    使用URLConnection的HTTP基本身份验证

热门标签

归档