자격 증명 캐시 사용
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::SetUser 및 IMFNetCredential::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.
관련 항목