Windows 使用具有AD身份验证的IE代理发出HTTP请求
在企业桌面场景中,用户登录到Active Directory域,我希望我的应用程序使用与Internet Explorer相同的代理发出HTTP请求。问题是,代理需要使用当前登录用户的凭据进行NTLM身份验证,我不知道我的应用程序如何获取该凭据Windows 使用具有AD身份验证的IE代理发出HTTP请求,windows,http,active-directory,ntlm,proxy-authentication,Windows,Http,Active Directory,Ntlm,Proxy Authentication,在企业桌面场景中,用户登录到Active Directory域,我希望我的应用程序使用与Internet Explorer相同的代理发出HTTP请求。问题是,代理需要使用当前登录用户的凭据进行NTLM身份验证,我不知道我的应用程序如何获取该凭据 除了询问用户的密码(我发现了很多解决方案),还有没有其他方法可以正确地执行此操作,比如使用一些本机API?在这种情况下,我对编程语言并不挑剔,如果它在这种情况下工作,我接受它,尽管我更喜欢C/C++。由于您使用的是Windows,并且您使用的是域登录,所
除了询问用户的密码(我发现了很多解决方案),还有没有其他方法可以正确地执行此操作,比如使用一些本机API?在这种情况下,我对编程语言并不挑剔,如果它在这种情况下工作,我接受它,尽管我更喜欢C/C++。由于您使用的是Windows,并且您使用的是域登录,所以您应该更依赖Kerberos。不管怎样,您现在可以选择以下几个选项:
libcurl
,默认情况下,它将使用SSPI支持进行编译协商
包调用SSPI,并根据HTTP自己交换令牌您选择了哪一个选项?我使用WinINet,将
INTERNET\u OPEN\u TYPE\u Prefig
传递到InternetOpen
,它成功了。我还发现,您可以在.NET中执行类似的操作,但我更喜欢本地方式。