使用具有AD身份验证的IE代理发出HTTP请求

时间:2013-11-27 19:51:49

标签: windows http active-directory ntlm proxy-authentication

在企业桌面方案中,用户登录到Active Directory域,我希望我的应用程序使用与Internet Explorer使用的代理相同的代理来发出HTTP请求。问题是代理需要使用当前登录用户的凭据进行NTLM身份验证,这是我不知道应用程序可以获取的方式。

除了询问用户他/她的密码(我发现了很多解决方案)之外,有没有办法正确地做到这一点,比如使用一些原生API?在这种情况下,我对编程语言并不挑剔,如果在这种情况下有效,我接受它,虽然我更喜欢C / C ++。

1 个答案:

答案 0 :(得分:1)

由于您使用的是Windows,并且您正在使用域登录,因此您应该依赖Kerberos。无论如何,你现在有几个选择:

  1. 如果您使用WinHTTP,则必须启用它。
  2. 在Windows上使用libcurl,默认情况下将使用SSPI支持进行编译。
  3. 如果您自己使用套接字,则必须使用Negotiate包调用SSPI并自行为每个HTTP交换令牌。