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 usare sul 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

L'esempio di codice seguente illustra come eseguire l'override di questa classe e implementare le proprie credenziali client personalizzate che includono un gestore token di sicurezza personalizzato.

Importante

È importante notare che il CreateSecurityTokenManager metodo viene sottoposto a override per creare un gestore di token di sicurezza personalizzato. Gestione token di sicurezza, derivata da ClientCredentialsSecurityTokenManager. deve restituire un provider di 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à a rischio di attacchi alla sicurezza, in particolare l'elevazione dei privilegi. Questo modello di codifica garantisce che le credenziali corrette vengano usate quando le channel factory vengono memorizzate nella cache.

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

L'oggetto ClientCredentials è accessibile tramite la ClientCredentials proprietà della ClientBase<TChannel> classe .

Un ClientCredentials oggetto viene aggiunto all'insieme Behaviors . La ClientCredentials proprietà è una facciata (un modello di progettazione noto) su una voce in tale raccolta. Molte proprietà in questa classe restituiscono oggetti costituiti principalmente da proprietà. Questi oggetti possono essere usati per la configurazione: una volta get creato l'oggetto, è possibile usarlo per set le proprietà chiamandone i membri.

Costruttori

Nome Descrizione
ClientCredentials()

Inizializza una nuova istanza della classe ClientCredentials.

ClientCredentials(ClientCredentials)

Si tratta di un costruttore di copia.

Proprietà

Nome Descrizione
ClientCertificate

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

HttpDigest

Ottiene le credenziali del digest HTTP corrente.

IssuedToken

Usare questa proprietà per specificare l'indirizzo dell'endpoint e l'associazione da usare quando si contatta il servizio token di sicurezza locale. Queste informazioni vengono usate quando un servizio richiede l'autenticazione usando un token rilasciato, ma i criteri del servizio (rappresentati come binding nel client) non specificano in modo esplicito come e dove ottenere il token rilasciato.

Peer

Controlla le credenziali usate da un nodo peer per autenticarsi con altri nodi nella mesh, nonché le impostazioni di autenticazione usate da un nodo peer per autenticare altri nodi peer.

SecurityTokenHandlerCollectionManager

Ottiene o imposta il gestore del 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 in modo interattivo all'utente le credenziali quando necessario. Ad esempio, l'impostazione di su false potrebbe essere desiderata in scenari di livello intermedio.

UseIdentityConfiguration

Ottiene o imposta un valore che indica se le credenziali client utilizzano la configurazione dell'identità.

UserName

Ottiene un oggetto credenziale che è possibile utilizzare per impostare il nome utente e la password utilizzati dal client per autenticarsi al servizio.

Windows

Ottiene un oggetto utilizzato per controllare le credenziali di Windows utilizzate dal client per autenticarsi nel servizio.

Metodi

Nome Descrizione
ApplyClientBehavior(ServiceEndpoint, ClientRuntime)

Applica il comportamento del client specificato all'endpoint.

Clone()

Crea una nuova copia di questa ClientCredentials istanza.

CloneCore()

Crea una nuova copia di questa ClientCredentials istanza.

CreateSecurityTokenManager()

Crea un gestore token di sicurezza per questa istanza. Questo metodo viene raramente chiamato in modo esplicito; viene usato principalmente negli scenari di estendibilità 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 il Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

Nome Descrizione
IEndpointBehavior.AddBindingParameters(ServiceEndpoint, BindingParameterCollection)

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

IEndpointBehavior.ApplyDispatchBehavior(ServiceEndpoint, EndpointDispatcher)

Implementa una modifica o un'estensione del servizio in un endpoint.

IEndpointBehavior.Validate(ServiceEndpoint)

Riservato a un uso futuro.

Si applica a