2013-11-27 3 views
0

사용자가 Active Directory 도메인에 로그인 한 회사 데스크톱 시나리오에서 Internet Explorer가 사용하는 것과 동일한 프록시를 사용하여 HTTP 요청을 발행하도록 응용 프로그램을 원합니다. 문제는 프록시가 현재 로그인 한 사용자의 자격 증명을 사용하여 NTLM 인증을 요구한다는 것입니다.이 인증은 응용 프로그램의 획득 방법을 모릅니다.AD 인증을 사용하는 IE 프록시를 사용하여 HTTP 요청을 발행

사용자에게 암호를 묻는 것 외에 (많은 솔루션을 찾은 것 외에) 네이티브 API를 사용하는 것처럼 올바른 방법이 있습니까? 나는이 경우에 프로그래밍 언어에 대해 까다 롭지 않다.이 시나리오에서 작동한다면, 나는 C/C++를 선호하지만 받아 들인다.

+0

어떤 옵션을 선택하셨습니까? –

+0

WinINet을 사용하여'INTERNET_OPEN_TYPE_PRECONFIG'을'InternetOpen'에 넘겼습니다. 또한 [CredentialCache] (http://msdn.microsoft.com/en-us/library/system.net.credentialcache.defaultcredentials%28v=vs.110%29.aspx)를 사용하여 이와 비슷한 작업을 수행 할 수 있음을 발견했습니다. .NET, 그러나 나는 네이티브 방식을 선호했다. – dnet

답변

1

Windows를 사용하고 있으며 도메인 로그인을 사용 중이므로 Kerberos에 의존해야합니다. 어쨌든 이제 몇 가지 옵션을 사용할 수 있습니다 :

  1. WinHTTP를 사용한다면 간단하게 활성화해야합니다.
  2. Windows에서 libcurl을 사용하면 기본적으로 SSPI 지원과 함께 컴파일됩니다.
  3. 소켓을 직접 사용하는 경우 Negotiate 패키지로 SSPI를 호출하고 HTTP마다 토큰을 직접 교환해야합니다.
관련 문제