System.Net


.NET Framework Class Library
CredentialCache Class

Provides storage for multiple credentials.

Namespace: System.Net
Assembly: System (in system.dll)

Syntax

Visual Basic (Declaration)
Public Class CredentialCache
    Implements ICredentials, ICredentialsByHost, IEnumerable
Visual Basic (Usage)
Dim instance As CredentialCache
C#
public class CredentialCache : ICredentials, ICredentialsByHost, IEnumerable
C++
public ref class CredentialCache : ICredentials, ICredentialsByHost, IEnumerable
J#
public class CredentialCache implements ICredentials, ICredentialsByHost, 
    IEnumerable
JScript
public class CredentialCache implements ICredentials, ICredentialsByHost, 
    IEnumerable
Remarks

The CredentialCache class stores credentials for multiple Internet resources. Applications that need to access multiple resources can store the credentials for those resources in a CredentialCache instance that then provides the proper set of credentials to the Internet resource when required. When the GetCredential method is called, it compares the Uniform Resource Identifier (URI) and authentication type provided with those stored in the cache and returns the first set of credentials that match.

The DefaultCredentials property contains the system credentials of the current security context. For client applications, these represent the user name, password, and domain of the user who is currently logged in. For ASP.NET applications, the default credentials are the user credentials of the logged-in user or the user being impersonated.

Example

The following code example initializes a CredentialCache with multiple security credentials and uses those credentials with a WebRequest.

Visual Basic
Dim myCache As New CredentialCache()

myCache.Add(New Uri("http://www.contoso.com/"), "Basic", New NetworkCredential(UserName, SecurelyStoredPassword))
myCache.Add(New Uri("http://www.contoso.com/"), "Digest", New NetworkCredential(UserName, SecurelyStoredPassword, Domain))

wReq.Credentials = myCache
C#
CredentialCache myCache = new CredentialCache();

myCache.Add(new Uri("http://www.contoso.com/"),"Basic",new NetworkCredential(UserName,SecurelyStoredPassword));
myCache.Add(new Uri("http://www.contoso.com/"),"Digest", new NetworkCredential(UserName,SecurelyStoredPassword,Domain));

wReq.Credentials = myCache;
C++
CredentialCache^ myCache = gcnew CredentialCache;

myCache->Add( gcnew Uri( "http://www.contoso.com/" ), "Basic", gcnew NetworkCredential( UserName,SecurelyStoredPassword ) );
myCache->Add( gcnew Uri( "http://www.contoso.com/" ), "Digest", gcnew NetworkCredential( UserName,SecurelyStoredPassword,Domain ) );

wReq->Credentials = myCache;
J#
CredentialCache myCache = new CredentialCache();
myCache.Add(new Uri("http://www.contoso.com/"), "Basic", 
    new NetworkCredential(userName, securelyStoredPassword));
myCache.Add(new Uri("http://www.contoso.com/"), "Digest", 
    new NetworkCredential(userName, securelyStoredPassword, domain)); 
wReq.set_Credentials(myCache);
Inheritance Hierarchy

System.Object
  System.Net.CredentialCache
Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Platforms

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

Version Information

.NET Framework

Supported in: 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0
See Also

Tags :


Page view tracker