ICredentials Interfaccia
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Fornisce l'interfaccia di autenticazione di base per il recupero di credenziali per l'autenticazione del client Web.
public interface class ICredentials
public interface ICredentials
type ICredentials = interface
Public Interface ICredentials
- Derivato
Esempio
Nell'esempio seguente viene illustrato come usare l'interfaccia ICredentials .
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;
}
};
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;
}
};
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
End Class
Private arrayListObj As ArrayList
Public Sub New()
arrayListObj = New ArrayList()
End Sub
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
' 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
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
Commenti
L'interfaccia ICredentials fornisce il GetCredential metodo agli oggetti che forniscono le credenziali di rete alle applicazioni.
Metodi
GetCredential(Uri, String) |
Restituisce un oggetto NetworkCredential associato all'URI specificato e al tipo di autenticazione. |