次の方法で共有


資格情報キャッシュの使用

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に設定します。

ネットワーク ソース認証