ClientCredentials Classe
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.
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 |
| 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. |