0

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

除了向用户询问他/她的密码(为此我找到了很多解决方案),有没有办法正确地做到这一点,比如使用一些本机 API?在这种情况下,我对编程语言并不挑剔,如果它适用于这种情况,我接受它,尽管我更喜欢 C/C++。

4

1 回答 1

1

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

  1. 如果您使用 WinHTTP ,您只需启用它。
  2. 在 Windows 上使用libcurl,它将默认使用 SSPI 支持进行编译。
  3. 如果您自己使用套接字,则必须自己使用Negotiate包调用 SSPI 并根据 HTTP 交换令牌。
于 2013-11-27T21:18:16.963 回答