ICredentials::GetCredential Method (Uri^, String^)
.NET Framework (current version)
Returns a NetworkCredential object that is associated with the specified URI, and authentication type.
Assembly: System (in System.dll)
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.
ref class CredentialList: public ICredentials { private: ref class CredentialInfo { public: Uri^ uriObj; String^ authenticationType; NetworkCredential^ networkCredentialObj; CredentialInfo( Uri^ uriObj, String^ authenticationType, NetworkCredential^ networkCredentialObj ) { this->uriObj = uriObj; this->authenticationType = authenticationType; this->networkCredentialObj = networkCredentialObj; } }; ArrayList^ arrayListObj; public: CredentialList() { arrayListObj = gcnew ArrayList; } void Add( Uri^ uriObj, String^ authenticationType, NetworkCredential^ credential ) { // Add a 'CredentialInfo' object into a list. arrayListObj->Add( gcnew CredentialInfo( uriObj,authenticationType,credential ) ); } // Remove the 'CredentialInfo' object from the list that matches to the given 'Uri' and 'AuthenticationType' void Remove( Uri^ uriObj, String^ authenticationType ) { for ( int index = 0; index < arrayListObj->Count; index++ ) { CredentialInfo^ credentialInfo = dynamic_cast<CredentialInfo^>(arrayListObj[ index ]); if ( uriObj->Equals( credentialInfo->uriObj ) && authenticationType->Equals( credentialInfo->authenticationType ) ) arrayListObj->RemoveAt( index ); } } virtual NetworkCredential^ GetCredential( Uri^ uriObj, String^ authenticationType ) { for ( int index = 0; index < arrayListObj->Count; index++ ) { CredentialInfo^ credentialInfoObj = dynamic_cast<CredentialInfo^>(arrayListObj[ index ]); if ( uriObj->Equals( credentialInfoObj->uriObj ) && authenticationType->Equals( credentialInfoObj->authenticationType ) ) return credentialInfoObj->networkCredentialObj; } return nullptr; } };
Universal Windows Platform
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 3.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 3.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Show: