使用GetHttpConnection进行NTLM身份验证

问题描述:

我有一个VC++(6.0)应用程序。我们希望使用NTLM身份验证来访问服务器。我提示输入URL,ID和密码,并在我的internetSession.GetHttpConnection调用中发送这些内容,如果输入域\标识和密码,则使用NTLM可以正常工作。使用GetHttpConnection进行NTLM身份验证

我们希望当前与服务器在同一个域中登录的用户不必输入其ID和密码。我们如何做到这一点?我认为它与“直通认证”或WindowsIdentity有关。一直在谷歌搜索,但如果任何人有一个快速的答案,我一定会很感激。

+0

“访问服务器”是什么意思?这听起来不像你在工作案例中使用NTLM,而是基本认证。 NTLM是HTTP上的挑战/响应,其工作原理如下:http://www.innovation.ch/personal/ronald/ntlm.html – 2011-03-13 12:06:27

您可以使用WinHTTP而不是WinInet?看看这个包装WinHTTP的library。我认为它使用WinHttpGetIEProxyConfigForCurrentUser()来为你获取这个信息。我通过配置为使用NTLM而没有任何问题的Microsoft ISA代理发出请求,因此我会假设它会在与NTLM的另一台服务器上进行身份验证。