Condividi tramite


ClientCredentials Classe

Definizione

Consente all'utente di configurare le credenziali client e del servizio, nonché le impostazioni di autenticazione delle credenziali del servizio da utilizzare per il lato client della comunicazione.

public ref class ClientCredentials : System::ServiceModel::Description::IEndpointBehavior
public ref class ClientCredentials : System::ServiceModel::Security::SecurityCredentialsManager, System::ServiceModel::Description::IEndpointBehavior
public class ClientCredentials : System.ServiceModel.Description.IEndpointBehavior
public class ClientCredentials : System.ServiceModel.Security.SecurityCredentialsManager, System.ServiceModel.Description.IEndpointBehavior
type ClientCredentials = class
    interface IEndpointBehavior
type ClientCredentials = class
    inherit SecurityCredentialsManager
    interface IEndpointBehavior
Public Class ClientCredentials
Implements IEndpointBehavior
Public Class ClientCredentials
Inherits SecurityCredentialsManager
Implements IEndpointBehavior
Ereditarietà
ClientCredentials
Ereditarietà
Derivato
Implementazioni

Esempio

Nell'esempio di codice seguente viene illustrato come eseguire l'override di questa classe e implementare credenziali client personalizzate che includono un gestore dei token di sicurezza personalizzato.

Importante

È importante da notare che l'override del metodo CreateSecurityTokenManager viene eseguito per creare un gestore del token di sicurezza personalizzato. Il gestore del token di sicurezza, derivato da ClientCredentialsSecurityTokenManager. deve restituire un provider del token di sicurezza personalizzato, derivato da SecurityTokenProvider, per creare il token di sicurezza effettivo. Se non si segue questo modello per la creazione di token di sicurezza, l'applicazione sarà esposta al rischio di attacchi alla sicurezza, in particolare tramite elevazione dei privilegi. Questo modello di codifica si assicura che vengano usate le credenziali corrette quando vengono memorizzate nella cache le channel factory.

public class MyClientCredentials : ClientCredentials
{
    string creditCardNumber;

    public MyClientCredentials()
    {
        // Perform client credentials initialization.
    }

    protected MyClientCredentials(MyClientCredentials other)
        : base(other)
    {
        // Clone fields defined in this class.
        this.creditCardNumber = other.creditCardNumber;
    }

    public string CreditCardNumber
    {
        get
        {
            return this.creditCardNumber;
        }
        set
        {
            if (value == null)
            {
                throw new ArgumentNullException("value");
            }
            this.creditCardNumber = value;
        }
    }

    public override SecurityTokenManager CreateSecurityTokenManager()
    {
        // Return your implementation of the SecurityTokenManager.
        return new MyClientCredentialsSecurityTokenManager(this);
    }

    protected override ClientCredentials CloneCore()
    {
        // Implement the cloning functionality.
        return new MyClientCredentials(this);
    }
}
Public Class MyClientCredentials
    Inherits ClientCredentials
    Private creditCardNumberValue As String

    Public Sub New() 
    
    End Sub
    
    ' Perform client credentials initialization.    
    Protected Sub New(ByVal other As MyClientCredentials) 
        MyBase.New(other)
        ' Clone fields defined in this class.
        Me.creditCardNumberValue = other.creditCardNumberValue
    
    End Sub

    Public Property CreditCardNumber() As String 
        Get
            Return Me.creditCardNumberValue
        End Get
        Set
            If value Is Nothing Then
                Throw New ArgumentNullException("value")
            End If
            Me.creditCardNumberValue = value
        End Set
    End Property

    Public Overrides Function CreateSecurityTokenManager() As SecurityTokenManager 
        ' Return your implementation of the SecurityTokenManager.
        Return New MyClientCredentialsSecurityTokenManager(Me)
    
    End Function
    
    Protected Overrides Function CloneCore() As ClientCredentials 
        ' Implement the cloning functionality.
        Return New MyClientCredentials(Me)
    
    End Function
End Class

Commenti

È possibile accedere a ClientCredentials tramite la proprietà ClientCredentials della classe ClientBase<TChannel>.

Oggetto ClientCredentials aggiunto alla raccolta Behaviors. La ClientCredentials proprietà è una facciata (un modello di progettazione noto) su una voce in tale raccolta. Molte proprietà di questa classe restituiscono oggetti costituiti principalmente da proprietà. Questi oggetti possono essere utilizzati per la configurazione: una volta eseguita l'operazione di get dell'oggetto, è possibile utilizzarlo per eseguire l'operazione di set delle proprietà chiamandone i membri.

Costruttori

ClientCredentials()

Inizializza una nuova istanza della classe ClientCredentials.

ClientCredentials(ClientCredentials)

Si tratta di un costruttore di copia.

Proprietà

ClientCertificate

Ottiene un oggetto che è possibile utilizzare per fornire il certificato X.509 utilizzato dal client per l'autenticazione al servizio.

HttpDigest

Ottiene la credenziale digest HTTP corrente.

IssuedToken

Utilizzare questa proprietà per specificare l'indirizzo e l'associazione dell'endpoint da utilizzare per contattare il servizio locale del token di sicurezza. Queste informazioni vengono utilizzate quando per un servizio è necessaria l'autenticazione tramite un token emesso, ma i criteri del servizio (rappresentati come associazione sul client) non specificano in modo esplicito come e dove ottenere il token.

Peer

Controlla le credenziali che un nodo peer utilizza per autenticare se stesso agli altri nodi della rete, oltre che le impostazioni di autenticazione utilizzate da un nodo peer per autenticare altri nodi peer.

SecurityTokenHandlerCollectionManager

Ottiene o imposta il gestore di token di sicurezza per le credenziali client.

ServiceCertificate

Ottiene un oggetto utilizzato per specificare il certificato X.509 di un servizio.

SupportInteractive

Ottiene o imposta un valore che indica se il sistema è autorizzato a richiedere all'utente in modo interattivo le credenziali quando è necessario. Potrebbe, ad esempio, essere utile impostarlo su false in scenari di livello intermedio.

UseIdentityConfiguration

Ottiene o imposta se le credenziali client utilizzano la configurazione di identità.

UserName

Ottiene un oggetto credenziale utilizzabile per impostare il nome utente e la password utilizzati dal client per l'autenticazione al servizio.

Windows

Ottiene un oggetto utilizzato per controllare le credenziali Windows utilizzate dal client per l'autenticazione al servizio.

Metodi

ApplyClientBehavior(ServiceEndpoint, ClientRuntime)

Applica il comportamento client specificato all'endpoint.

Clone()

Crea una nuova copia di questa istanza della classe ClientCredentials.

CloneCore()

Crea una nuova copia di questa istanza della classe ClientCredentials.

CreateSecurityTokenManager()

Crea un gestore dei token di sicurezza per questa istanza. Questo metodo viene raramente chiamato in modo esplicito; lo si utilizza principalmente in scenari di estensibilità e viene chiamato dal sistema stesso.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetInfoCardSecurityToken(Boolean, CardSpacePolicyElement[], SecurityTokenSerializer)

Genera e restituisce un token di sicurezza usando il sistema CardSpace e la catena di criteri e il serializzatore di token specificati.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

IEndpointBehavior.AddBindingParameters(ServiceEndpoint, BindingParameterCollection)

Aggiunge questa istanza della classe a una raccolta di parametri di associazione.

IEndpointBehavior.ApplyDispatchBehavior(ServiceEndpoint, EndpointDispatcher)

Implementa una modifica o un'estensione del servizio all'interno di un endpoint.

IEndpointBehavior.Validate(ServiceEndpoint)

Riservato per usi futuri.

Si applica a