ICredentials Interface
Provides the base authentication interface for retrieving credentials for Web client authentication.
Assembly: System (in System.dll)
The ICredentials interface provides the GetCredential method to objects that supply network credentials to applications.
The following example illustrates how to use the ICredentials interface.
Class CredentialInfo Public uriObj As Uri Public authenticationType As [String] Public networkCredentialObj As NetworkCredential Public Sub New(uriObj As Uri, authenticationType As [String], networkCredentialObj As NetworkCredential) Me.uriObj = uriObj Me.authenticationType = authenticationType Me.networkCredentialObj = networkCredentialObj End Sub 'New End Class 'CredentialInfo Private arrayListObj As ArrayList Public Sub New() arrayListObj = New ArrayList() End Sub 'New Public Sub Add(uriObj As Uri, authenticationType As [String], credential As NetworkCredential) ' adds a 'CredentialInfo' object into a list arrayListObj.Add(New CredentialInfo(uriObj, authenticationType, credential)) End Sub 'Add ' Remove the 'CredentialInfo' object from the list which matches to the given 'Uri' and 'AuthenticationType' Public Sub Remove(uriObj As Uri, authenticationType As [String]) Dim index As Integer For index = 0 To arrayListObj.Count - 1 Dim credentialInfo As CredentialInfo = CType(arrayListObj(index), CredentialInfo) If uriObj.Equals(credentialInfo.uriObj) And authenticationType.Equals(credentialInfo.authenticationType) Then arrayListObj.RemoveAt(index) End If Next index End Sub 'Remove Public Function GetCredential(uriObj As Uri, authenticationType As [String]) As NetworkCredential Implements ICredentials.GetCredential Dim index As Integer For index = 0 To arrayListObj.Count - 1 Dim credentialInfoObj As CredentialInfo = CType(arrayListObj(index), CredentialInfo) If uriObj.Equals(credentialInfoObj.uriObj) And authenticationType.Equals(credentialInfoObj.authenticationType) Then Return credentialInfoObj.networkCredentialObj End If Next index Return Nothing End Function 'GetCredential
__gc class CredentialList : public ICredentials {
__gc 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;
}
};
private:
ArrayList* arrayListObj;
public:
CredentialList() {
arrayListObj = new ArrayList();
}
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'
void Remove (Uri* uriObj, String* authenticationType) {
for (int index=0;index < arrayListObj->Count; index++) {
CredentialInfo* credentialInfo = dynamic_cast<CredentialInfo*>(arrayListObj->Item[index]);
if (uriObj->Equals(credentialInfo->uriObj)&& authenticationType->Equals(credentialInfo->authenticationType))
arrayListObj->RemoveAt(index);
}
}
NetworkCredential * GetCredential (Uri* uriObj, String* authenticationType) {
for (int index=0;index < arrayListObj->Count; index++) {
CredentialInfo* credentialInfoObj = dynamic_cast<CredentialInfo*>(arrayListObj->Item[index]);
if (uriObj->Equals(credentialInfoObj->uriObj) && authenticationType->Equals(credentialInfoObj->authenticationType))
return credentialInfoObj->networkCredentialObj;
}
return 0;
}
};
Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC, Xbox 360, Zune
The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.