Export (0) Print
Expand All

ICredentials.GetCredential Method

Returns a NetworkCredential object that is associated with the specified URI, and authentication type.

Namespace:  System.Net
Assemblies:   System (in System.dll)
  System.Net.Primitives (in System.Net.Primitives.dll)

NetworkCredential GetCredential(
	Uri uri,
	string authType
)

Parameters

uri
Type: System.Uri

The Uri that the client is providing authentication for.

authType
Type: System.String

The type of authentication, as defined in the IAuthenticationModule.AuthenticationType property.

Return Value

Type: System.Net.NetworkCredential
The NetworkCredential that is associated with the specified URI and authentication type, or, if no credentials are available, null.

The GetCredential method returns a NetworkCredential instance that contains the credentials that are associated with the specified URI and authorization scheme. When no credentials are available, the GetCredential method returns null.

The following uses GetCredential to retrieve a NetworkCredential instance.

	class CredentialList : ICredentials
	{
		class CredentialInfo
		{
			public Uri uriObj;
			public String authenticationType;
			public NetworkCredential networkCredentialObj;

			public CredentialInfo(Uri uriObj, String authenticationType, NetworkCredential networkCredentialObj)
			{
				this.uriObj = uriObj;
				this.authenticationType = authenticationType;
				this.networkCredentialObj = networkCredentialObj;
			}
		}

		private ArrayList arrayListObj;

		public CredentialList()
		{
			arrayListObj = new ArrayList();
		}

		public void Add (Uri uriObj, String authenticationType, NetworkCredential credential)
		{
			// Add a 'CredentialInfo' object into a list.
			arrayListObj.Add (new CredentialInfo(uriObj, authenticationType, credential));      
		}
		// Remove the 'CredentialInfo' object from the list that matches to the given 'Uri' and 'AuthenticationType' 
		public void Remove (Uri uriObj, String authenticationType)
		{
			for(int index=0;index < arrayListObj.Count; index++)
			{
				CredentialInfo credentialInfo = (CredentialInfo)arrayListObj[index];
				if(uriObj.Equals(credentialInfo.uriObj)&& authenticationType.Equals(credentialInfo.authenticationType))
					arrayListObj.RemoveAt(index);
			}
		}
		public NetworkCredential GetCredential (Uri uriObj, String authenticationType)
		{
			for(int index=0;index < arrayListObj.Count; index++)
			{
				CredentialInfo credentialInfoObj = (CredentialInfo)arrayListObj[index];
				if(uriObj.Equals(credentialInfoObj.uriObj) && authenticationType.Equals(credentialInfoObj.authenticationType))
					return credentialInfoObj.networkCredentialObj;
			}
			return null;
		}
	};

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library

.NET for Windows Store apps

Supported in: Windows 8

Supported in: Windows Phone 8.1

Supported in: Windows Phone Silverlight 8.1

Supported in: Windows Phone Silverlight 8

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

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

Show:
© 2014 Microsoft