이것은 사용자 자격 증명이 현재 로그인 된 사용자 자격 증명 인 경우 작동합니다. GetResponse()가 호출되기 전에 UseDefaultCredentials가 HttpWebRequest에서 True로 설정된 경우 기본적으로 해당 값이 전송됩니다.
사용자가 기본값 (예 : 및)에 저장된 NTLM 협상 된 자격 증명과 다른 자격 증명을 제공하는 경우 사용자는 자격 증명을 계속 유지하도록 선택하지 않습니다 ("내 자격 증명 저장"확인란 선택). ActiveX HttpWebRequest.GetResponse() 호출은 응답이 401 (인증되지 않음)임을 나타내는 메시지와 함께 WebException을 발생시킵니다. ActiveX의 HttpWebRequest는 (1) 단계에서 인증에 사용 된 캐시 된 자격 증명에 액세스 할 수 없으며 자격 증명 관리자에 유지되지 않습니다. 해당 자격 증명 이 Credential Manager에 유지 된 경우 인 경우 ActiveX 웹 클라이언트는 해당 요청의 대상이 단계 (1)의 요청에 사용 된 대상과 동일하면 캐시 된 자격 증명 ()을 사용한다는 것을 알게됩니다.; 두 요청에 사용 된 호스트 이름이 같으면이 경우가됩니다.
마지막으로 ActiveX 컨트롤에 자격 증명이없는 경우 .NET Framework CredUIPromptForCredentials 및 CredUIPromptForWindowsCredentials 기능을 사용하여 자격 증명을 요구할 수 있습니다. 이러한 함수에 대한 정보와 MSDN의 Peer Channel Team Blog에서 Application Password Security을 참조하여 관리 코드에서 올바르게 배치하고 사용하는 방법에 대해 자세히 알아보십시오. CredUIPromptForWindowsCredentials를 사용하고 CredWrite을 호출하면 Internet Explorer에서 사용되는 모양과 느낌이있는 ActiveX 내에서 원활한 암호 프롬프트를 얻을 수 있습니다.