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
Assembly:  System (in System.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, 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

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

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

Community Additions

ADD
Show:
© 2014 Microsoft