使用認證快取

媒體基礎提供 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。

網路來源驗證