Dela via


Använda cacheminnet för autentiseringsuppgifter

Media Foundation tillhandahåller en standardimplementering av gränssnittet IMFNetCredentialCache. Ett program som implementerar IMFNetCredentialManager--gränssnittet kan använda standardobjektet för cachelagring av autentiseringsuppgifter för att lagra användarens autentiseringsuppgifter.

Om du vill skapa standardobjektet för cachelagring av autentiseringsuppgifter anropar du funktionen MFCreateCredentialCache.

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

När cacheminnet för autentiseringsuppgifter har skapats kan programmet använda följande metoder för att hämta ett autentiseringsobjekt, ange användarautentiseringsuppgifter och ange cachelagringsalternativen.

  • Om du vill hämta autentiseringsobjektet för en URL anropar du IMFNetCredentialCache::GetCredential.

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

    Om autentiseringsuppgifterna för den angivna URL:en inte finns i cacheminnet för autentiseringsuppgifter skapar GetCredential ett nytt autentiseringsobjekt med tomma användarnamn och lösenordsvärden.

  • Om du vill ange användarnamn och lösenord för objektet för autentiseringsuppgifter anropar du IMFNetCredential::SetUser och IMFNetCredential::SetPassword.

  • Om du vill ange cachelagringsalternativ för objektet för autentiseringsuppgifter anropar du IMFNetCredentialCache::SetUserOptions.

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

    Parametervärdena dwOptionsFlags definieras i MFNetCredentialOptions uppräkning. Om du vill spara användarautentiseringsuppgifter för en URL i ett beständigt lagringsutrymme anger du flaggan MFNET_CREDENTIAL_SAVE. Om SetUserOptions-anropet har slutförts söker det efterföljande anropet till GetCredential efter autentiseringsuppgifterna i den beständiga lagringen. Om en matchning hittas returnerar den här metoden en pekare till det autentiseringsobjekt som innehåller informationen.

    Som standard krypteras autentiseringsuppgifter som skickas via nätverket. Om du vill ändra detta för att rensa text anger du flaggan MFNET_CREDENTIAL_ALLOW_CLEAR_TEXT.

    Om du vill ta bort information från registret anropar du GetCredential- för att hämta objektet för autentiseringsuppgifter och anropar sedan SetUserOption och anger dwOptionsFlags till MFNET_CREDENTIAL_DONT_CACHE.

Autentisering av nätverkskälla