다음을 통해 공유


자격 증명 캐시 사용

Media Foundation은 IMFNetCredentialCache 인터페이스의 기본 구현을 제공합니다. IMFNetCredentialManager 인터페이스를 구현하는 애플리케이션은 기본 자격 증명 캐시 개체를 사용하여 사용자의 자격 증명을 저장할 수 있습니다.

기본 자격 증명 캐시 개체를 만들려면 MFCreateCredentialCache 함수를 호출합니다.

HRESULT hr = S_OK;
IMFNetCredentialCache *pCredentialCache = NULL;
hr = MFCreateCredentialCache(&pCredentialCache);

자격 증명 캐시를 만든 후 애플리케이션은 다음 메서드를 사용하여 자격 증명 개체를 가져와서 사용자 자격 증명을 설정하고 캐싱 옵션을 지정할 수 있습니다.

  • URL에 대한 자격 증명 개체를 가져오려면 IMFNetCredentialCache::GetCredential을 호출합니다.

    hr = pCredentialCache-> GetCredential(
            pszUrl,
            pszRealm,
            dwAuthenticationFlags,
            &pCredential,
            &dwRequirementsFlags);
    

    지정된 URL에 대한 자격 증명이 자격 증명 캐시에 없는 경우 GetCredential 은 빈 사용자 이름 및 암호 값을 사용하여 새 자격 증명 개체를 만듭니다.

  • 자격 증명 개체에서 사용자 이름과 암호를 설정하려면 IMFNetCredential::SetUserIMFNetCredential::SetPassword를 호출합니다.

  • 자격 증명 개체에 대한 캐싱 옵션을 설정하려면 IMFNetCredentialCache::SetUserOptions를 호출합니다.

    hr = pCredentialCache-> SetUserOptions( 
            pCredentialCache,
            MFNET_CREDENTIAL_SAVE);
    

    dwOptionsFlags 매개 변수 값은 MFNetCredentialOptions 열거형에 정의되어 있습니다. 영구 스토리지에 URL에 대한 사용자 자격 증명을 저장하려면 MFNET_CREDENTIAL_SAVE 플래그를 설정합니다. SetUserOptions 호출이 성공적으로 완료되면 GetCredential에 대한 후속 호출은 영구 스토리지의 자격 증명을 검색합니다. 일치 항목이 발견되면 이 메서드는 정보를 포함하는 자격 증명 개체에 대한 포인터를 반환합니다.

    기본적으로 네트워크를 통해 전송된 사용자 자격 증명은 암호화됩니다. 텍스트를 지우도록 변경하려면 MFNET_CREDENTIAL_ALLOW_CLEAR_TEXT 플래그를 설정합니다.

    레지스트리에서 정보를 제거하려면 GetCredential 을 호출하여 자격 증명 개체를 가져옵니다. 그런 다음 SetUserOption 을 호출하고 dwOptionsFlags 를 MFNET_CREDENTIAL_DONT_CACHE.

네트워크 원본 인증